上一篇,Druid是用于处理数据库连接池与后台监控。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。——百度百科
添加依赖
1 | <dependency> |
MyBatis添加依赖跟SpringBoot的其他启动器不一样,MyBatis需要写版本号,因为,SpringBoot并没有MyBatis的启动器。
用法
注解的方式
先看一下项目结构:
首先,我们先在连接的数据库里面创建表,添加几条数据。
然后,创建pojo类User,对应我的表
1 | package com.haichenyi.springbootjdbc.pojo; |
接着,创建mapper接口
1 | package com.haichenyi.springbootjdbc.mapper; |
就是一个普通的接口,用 @Mapper 标识了。然后写了一个获取用户信息的方法。 @Select 里面是sql语句。
用 @Mapper 标识的接口,在运行的过程中,会帮我们生成实现类,到时候,我们直接通过这个接口的引用调用这个方法即可。我们也可以在入口的位置用 @MapperScan 标识包名,应用启动的时候,会给这个包下面的所有接口都生成实现类。如下
1 | package com.haichenyi.springbootjdbc; |
最后,就是我们的controller层了。
1 | package com.haichenyi.springbootjdbc.controller; |
这样,我们就可以通过 http://localhost:8080/getUserInfo 读到数据库中的数据了
只这样,我们读到的数据,如果表字段与pojo类的字段不一一对应,我们可能读到的数据为空,所以,我们要开启驼峰命名,开启之后MyBatis会帮我们一一对应好。怎么开启呢?就在我们前面的JdbcConfig中添加如下方法即可。就跟我们前面一篇Druid添加配置类似。
1 | /** |
这样就可以了。
xml的方式
前面和后面都是一样的,就是中间那不创建mapper接口不一样。xml中怎么创建mapper呢?
首先,还是创建一个正常的接口,定义方法。如下:注释写的很清楚了。
1 | package com.haichenyi.springbootjdbc.mapper; |
然后,添加两个xml,一个是config,一个是写sql语句的。路径需要注意,先在resources目录下创建一个mybatis目录,在mybatis目录下创建mybatis-config.xml,在mybatis目录下创建mapper目录,然后在mapper目录下创建你的mapper.xml文件,如下:
这个是写mybatis配置文件的,名字我写的是:mybatis-config.xml,这个路径
1 | <?xml version="1.0" encoding="UTF-8" ?> |
然后就是创建mapper.xml,这里,我们以UserMapper.xml为例:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
注释写的很清楚了。
再就是配置这个两个xml路径了,你需要在你的全局配置文件中配置好,指定对应的路径:
1 | mybatis: |
为啥非要创建一个mapper目录,再创建mapper文件呢?就是这里好指定。mapper文件肯定不止一个,难道你要一个一个的配置吗?这样写只用指定一个就可以了。