1.配置资源文件
在pom.xml文件中添加如下配置:
mysql
mysql-connector-java
8.0.11
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.1
tk.mybatis
mapper-spring-boot-starter
1.2.4
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.3
com.alibaba
druid-spring-boot-starter
1.1.9
org.mybatis.generator
mybatis-generator-core
1.3.2
compile
true
在application.properties文件中添加如下配置:
#mybatis
mybatis.type-aliases-package=com.springboot.pojo
mybatis.mapper-locations=classpath:mapper/*.xml
#mapper
#mappers 多个接口时逗号隔开
mapper.mappers=com.springboot.util.MyMapper
mapper.not-empty=false
mapper.identity=MYSQL
#pagehelper
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
############################################################
#配置数据源相关,使用阿里巴巴Druid数据源
############################################################
### MySQL Connector/J 5.x (旧版连接)
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/rwa?useUnicode=true&characterEncoding=utf8
### MySQL Connector/J 6.x之后 (新版连接)
spring.datasource.url=jdbc:mysql:///rwa?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
#说明: 新版驱动url默认地址为127.0.0.1:3306,所以访问本机mysql数据库地址可以用 /// 表示
#spring.datasource.url=jdbc:mysql://localhost:3306/rwa?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=qzw123
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true
3.自动生成Mapper映射文件(第一种方式)
在项目根目录创建generatorConfig.xml文件,添加如下代码:
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
connectionURL="jdbc:mysql://localhost:3306/rwa"
userId="root"
password="qzw123">
type="XMLMAPPER"/>
注意:根据自己项目的实际情况修改相关的配置
创建一个工具类GeneratorDisplay用于读取上面的配置文件来生成mapper映射文件,代码如下:
public class GeneratorDisplay {
public void generator() throws Exception{
List warnings = new ArrayList();
boolean overwrite = true;
//指定 逆向工程配置文件
File configFile = new File("generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
public static void main(String[] args) throws Exception {
try {
GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意:
这个是配置一个mapper映射接口,生成Mapper都要继承该接口
接口代码如下,特别注意该接口不能被扫描到,否则会出错!!!
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第1张图片](http://img.e-com-net.com/image/info8/dbea11bbfc8c4a6983b37e841efc66f9.jpg)
创建数据库表student,字段如下:
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第2张图片](http://img.e-com-net.com/image/info8/0c4cf7fb3cba43aeb41729b26aaf8c18.jpg)
运行GeneratorDisplay这个类即可生成StudentMapper.xml和Student实体类以及StudentMapper映射接口,如下图所示:
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第3张图片](http://img.e-com-net.com/image/info8/95092b2d95204debb00637de9c4b5295.jpg)
4.创建Service
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第4张图片](http://img.e-com-net.com/image/info8/bf9d3d4524d34ccf891834aeaa117847.jpg)
将之前生成的StudentMapper注入进来,同时注意事务处理,增/删/改需要加上@Transactional(propagation=Propagation.REQUIRED),查找需要加上@Transactional(propagation=Propagation.SUPPORTS,readOnly=true),StudentMapper接口中的方法是父接口中方法(一般只是对单表的CRUD操作)
5.创建Controller,然后可以进浏览器进行测试
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第5张图片](http://img.e-com-net.com/image/info8/688c19a02031438a8fa6c1e6c686f1c9.jpg)
注意:在Application上加@MapperScan和@ComponentScan
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第6张图片](http://img.e-com-net.com/image/info8/9b3cdd345d72470293304fe92ec2ce0f.jpg)
6.自定义Mapper映射文件(第二种方式创建mapper文件)
创建StudentMapperDIY.xml文件,需要关联实体类,所以要创建对应的实体类(由于LZ的Student实体类是之前自动生成的,所以没有再创建)
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第7张图片](http://img.e-com-net.com/image/info8/fe2828b3416b478f9d706e62f24a88a7.jpg)
创建Mapper映射接口,注意:方法名要和mapper映射文件中的id保持一致
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第8张图片](http://img.e-com-net.com/image/info8/fc926ca0ce5e43a68dbfb72ea90fbef1.jpg)
创建Service,需要将StudentMapperDIY注入进来
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第9张图片](http://img.e-com-net.com/image/info8/1cebd6f8d93c458c9e1fd9359157832b.jpg)
在Controller添加如下方法:
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第10张图片](http://img.e-com-net.com/image/info8/92329fcc6af84e7c866d68769325affe.jpg)
进入浏览器测试http://localhost:8088/SpringBoot/crud/getstudentlist
![SpringBoot学习笔记8--SpringBoot整合MyBatis实现CRUD功能_第11张图片](http://img.e-com-net.com/image/info8/494025b028f8447b85c6c1e82a94d505.jpg)