如何整合MyBatis
1、pom依赖
1 <dependency> 2 <groupId>org.mybatis.spring.boot</groupId> 3 <artifactId>mybatis-spring-boot-starter</artifactId> 4 <version>1.3.2</version> 5 </dependency> 6 <dependency> 7 <groupId>mysql</groupId> 8 <artifactId>mysql-connector-java</artifactId> 9 <scope>runtime</scope> 10 </dependency> 11 <!-- 分页插件 --> 12 <dependency> 13 <groupId>com.github.pagehelper</groupId> 14 <artifactId>pagehelper-spring-boot-starter</artifactId> 15 <version>1.2.5</version> 16 </dependency> 17 <!--mapper --> 18 <dependency> 19 <groupId>tk.mybatis</groupId> 20 <artifactId>mapper-spring-boot-starter</artifactId> 21 <version>1.1.3</version> 22 </dependency> 23 <!-- alibaba的druid数据库连接池 --> 24 <dependency> 25 <groupId>com.alibaba</groupId> 26 <artifactId>druid-spring-boot-starter</artifactId> 27 <version>1.1.9</version> 28 </dependency>
2、添加配置
1spring.datasource.name=mysql_test 2spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 3#druid相关配置 4spring.datasource.druid.filters=stat 5spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver 6#基本属性 7spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false 8spring.datasource.druid.username=root 9spring.datasource.druid.password=1234 10#配置初始化大小/最小/最大 11spring.datasource.druid.initial-size=1 12spring.datasource.druid.min-idle=1 13spring.datasource.druid.max-active=20 14#获取连接等待超时时间 15spring.datasource.druid.max-wait=60000 16#间隔多久进行一次检测,检测需要关闭的空闲连接 17spring.datasource.druid.time-between-eviction-runs-millis=60000 18#一个连接在池中最小生存的时间 19spring.datasource.druid.min-evictable-idle-time-millis=300000 20spring.datasource.druid.validation-query=SELECT 'x' 21spring.datasource.druid.test-while-idle=true 22spring.datasource.druid.test-on-borrow=false 23spring.datasource.druid.test-on-return=false 24#打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false 25spring.datasource.druid.pool-prepared-statements=false 26spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 27#Mapper路径 28mybatis.mapper-locations=classpath=mapper/*.xml 29#pagehelper 30pagehelper.helperDialect=mysql 31pagehelper.reasonable=true 32pagehelper.supportMethodsArguments=true 33pagehelper.params=count=countSql
3、自动生成Mapper
添加Mybatis的自动生成插件
1 <plugin> 2 <groupId>org.mybatis.generator</groupId> 3 <artifactId>mybatis-generator-maven-plugin</artifactId> 4 <version>1.3.2</version> 5 <configuration> 6 <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile> 7 <overwrite>true</overwrite> 8 <verbose>true</verbose> 9 </configuration> 10 <dependencies> 11 <dependency> 12 <groupId>mysql</groupId> 13 <artifactId>mysql-connector-java</artifactId> 14 <version>${mysql.version}</version> 15 </dependency> 16 <dependency> 17 <groupId>tk.mybatis</groupId> 18 <artifactId>mapper</artifactId> 19 <version>3.4.0</version> 20 </dependency> 21 </dependencies> 22 </plugin>
配置Mybatis的generatorConfig
1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5<generatorConfiguration> 6 <properties resource="application.properties"/> 7 <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> 8 <property name="beginningDelimiter" value="`"/> 9 <property name="endingDelimiter" value="`"/> 10 <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> 11 <property name="mappers" value="sample.mybatis.mapper.MyMapper"/> 12 </plugin> 13 <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true" 14 driverClass="com.mysql.jdbc.Driver" 15 userId="root" 16 password="1234"> 17 </jdbcConnection> 18 <javaModelGenerator targetPackage="sample.mybatis.entity" targetProject="src/main/java"> 19 </javaModelGenerator> 20 <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> 21 <javaClientGenerator targetPackage="sample.mybatis.dao" targetProject="src/main/java" 22 type="XMLMAPPER"/> 23 <table tableName="city"> 24 <!--mysql 配置--> 25 <generatedKey column="id" sqlStatement="Mysql" identity="true"/> 26 </table> 27 </context> 28</generatorConfiguration>
执行插件会自动生成实体Bean,Mapper接口和对应的xml文件。
5、写个简单的Controller触发调用
1@RestController 2public class CityController { 3 4 @Autowired 5 private CityMapper cityMapper; 6 7 @GetMapping("/") 8 public List<City> index() { 9 PageHelper.startPage(0, 3); 10 List<City> cities = this.cityMapper.selectAll(); 11 return cities; 12 } 13 14}
启动项目后通过PostMan访问:http://localhost:8080/ 
源码地址:GitHub
本篇到此结束,如果读完觉得有收获的话,欢迎点赞、关注、加公众号【贰级天災】,查阅更多精彩历史!!! 