SpringBoot2.0应用(五):SpringBoot2.0整合MyBatis

如何整合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


本篇到此结束,如果读完觉得有收获的话,欢迎点赞、关注、加公众号【贰级天災】,查阅更多精彩历史!!!

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )