随着springboot的逐渐火热,mybatis为了融入springboot的这个大家庭,也提供了自己的对于springboot的友好支持,这个就是mybatis-spring-boot-starter,极大方便了我们集成springboot+mybatis的开发,对于mybatis,似乎给我们的认识就是一直停留在繁琐的xml文件配置,没有jpa那么随性简捷。时至今日,其配置流程也越发简单。目前主流的有两种模式,一种是全注解零配置xml,另外一种就是极简xml,就是还保留很少的xml配置。
全注解零配置版
![283b87f2c8a0493e5953c56f76cbf55b.png](https://img-blog.csdnimg.cn/img_convert/283b87f2c8a0493e5953c56f76cbf55b.png)
1.在pom.xml中引入mybatis和数据库的相关依赖,在resources目录下创建application.properties文件,配置相应的数据库配置.
![2f3c2542dcf0447f708fff929b4f65a2.png](https://img-blog.csdnimg.cn/img_convert/2f3c2542dcf0447f708fff929b4f65a2.png)
2.开发dao层(或者mapper层也行)
![92a767cc75459314db103049a1e54c96.png](https://img-blog.csdnimg.cn/img_convert/92a767cc75459314db103049a1e54c96.png)
此处需要了解几个对应的注解:
@Select 查询类的注解
@Insert 插入数据操作
@Update 更新数据操作
@delete 删除数据操作
@Result 返回查询结果集,如果返回字段和对应实体类的属性完全一致,此注解可以忽略.
3.在启动类中添加mapper包路径的扫描
![be9b4b6c7c24aa13150d9fa99fe9ed8c.png](https://img-blog.csdnimg.cn/img_convert/be9b4b6c7c24aa13150d9fa99fe9ed8c.png)
4.此处忽略service层和控制层代码编写,直接做简单的单元测试
![de98dbe581f7ae745812eebdb9e8f7fb.png](https://img-blog.csdnimg.cn/img_convert/de98dbe581f7ae745812eebdb9e8f7fb.png)
执行绿色无误,说明配置成功。
极简XML配置
其实步骤和注解版差不多,需要注意的如下:
1.在application.properties添加如下配置:
![eab6fabe9bf4e4c1c31e4fa8112f2432.png](https://img-blog.csdnimg.cn/img_convert/eab6fabe9bf4e4c1c31e4fa8112f2432.png)
主要指定了Mybaatis基础配置文件和实体类映射文件对应位置,其中基础配置文件如下:
![b6a733d08a4a6823421b8f7f55cabe1d.png](https://img-blog.csdnimg.cn/img_convert/b6a733d08a4a6823421b8f7f55cabe1d.png)
2.添加实体类映射文件,我这里是UserMapper.xml
![f93888fad99c0905b120b4dccbdcf42e.png](https://img-blog.csdnimg.cn/img_convert/f93888fad99c0905b120b4dccbdcf42e.png)
其实和之前传统配置那种差不多,需要在映射文件中指定映射哪个接口,我这里指定的是UserMapper,
3.在UserMapper中添加对应的方法
![e2f9df12bc88a0e18128238d58fac2bf.png](https://img-blog.csdnimg.cn/img_convert/e2f9df12bc88a0e18128238d58fac2bf.png)
其余步骤和注解版没什么差异,说白了也就是一个把sql写在Mapper接口中,一个写在xml映射文件中,可能对于很多人习惯了之前传统mybatis,更加比较认可第二种写法,毕竟把sql写在接口层还是看着蛮怪异的。你是怎么看的呢?