mybatis入门学习总结

mybatis入门学习总结

昨天在b站上面学习了mybatis的入门,关于如何使用mybatis框架来操作数据库,视频是出自于黑马程序员的,现在来总结一下。
首先,mybatis是dao层的一个框架,也就是用来操作数据库的,采用了对象关系映射(Object Relational Mapping,简称ORM)的思想。他与spring,springMVC被合称为ssm框架。框架的定义就是半成品的软件,他的作用就是能封装了我们开发时所需要重复的代码,以达到简便开发的功能,这样说,我估计你们还是一头雾水,学过Java操作数据库的应该都知道jdbc(Java数据库连接),这是一个规范,也相当于一个接口(规则),市场的数据库有很多,比如mysql,sqlserver,这些数据库要想连接Java就必须实现jdbc,接着才能用Java连接到数据库中去。首先要导入数据库连接java的jar包,再注册驱动,再获取连接对象,然后获取预处理对象再执行SQL语句,用完了之后还得关闭资源,一大堆的操作,mybatis就能简化这些操作。
mybatis使用步骤:
1.导入mybatis所需要的jar包,有mybatis框架本身的jar包,连接数据库的,这两个是能使用mybatis的核心包,然后还可以导入junit测试的包,我使用的是maven工程,使用依赖坐标,输入jar的仓库位置也可以导入mybatis的jar包。导入log4j的配置文件在resources的目录下,配合导入的log4j的依赖,用来解析xml文件。
mybatis入门学习总结_第1张图片
mybatis入门学习总结_第2张图片
2.编写一个实体类,实体类中的属性要对应数据库表中的属性。

3.编写dao接口,接口写一个抽象方法

4.编写持久层接口的映射配置文件 注意:在resource下编写的xml文件要放在和dao借口相同的包中,包层要一样mybatis入门学习总结_第3张图片
(附上)如果用maven工程,那么创建maven工程要注意groupId和artifactId,我是看了一下这个blog,第一个一般分为两段,第一段是域名称比如org,com,cn,第二段是公司名称或者写自己的名字,artifactId就是项目名称,然后放类的包结构最好按照groupId+artifactId开头然后配置映射配置文件的属性,包结构这样写就可以使用下面配置属性的方式来配置
映射配置文件有几个属性:namespace,id,resultType。namespace用接口的全限定类名(即包加类的名字),id用接口的方法名,resultType用数据库查询对应实体类的全限定类名。

5.编写主配置文件 用来配置具体数据库的环境,连接池,连接信息,还指定映射配置文件的位置

mybatis入门学习总结_第4张图片
6.创建测试类实现查询的操作
测试类的步骤:
(1)读取主配置文件
(2)创建SqlSessionFactoryBuilder再传入读取的配置文件信息用来创建工厂
(3)工厂生产session对象,session使用session.getMapper(接口类对象)用来创建代理对象,创建代理对象需要传入接口的类对象
(4)代理对象执行接口的方法
(5)释放session和流的资源
代码如下
mybatis入门学习总结_第5张图片


下面是我在实验完成mybatis的操作时遇到的错误和一些注意事项:
1.在配置接口的xml文件中(比如IUserDao.xml),resource是路径,要用/隔开。
我写了这个这样会报一个找不到配置文件的错误,如下:
在这里插入图片描述
解决办法:.改为/。

2.在配置接口的xml文件中要引入约束文件,不然会报错,如下。

文档根元素 “mapper” 必须匹配 DOCTYPE 根 “null”
在这里插入图片描述
在这里看到解决的办法:引入一个xml的dtd约束,相当于加一行头文件:

mybatis入门学习总结_第6张图片不知为什么我的代码复制不下来,那你们就自己去我给的网址上去复制吧。
这里其实还有一种解决办法,在新建xml的界面,选择next,选择第一个dtd,这应该和上面的方法是一样的,引入dtd约束。
mybatis入门学习总结_第7张图片
mybatis入门学习总结_第8张图片

你可能感兴趣的:(mybatis入门学习总结)