首先有个地方要说明一下,要使用到PageHelper插件分页的时候,springboot的版本不能是2.0.0,我试过使用2.0.0的版本,启动报错缺少类 org.springframework.boot.bind.Relaxedpropertyresolver 。当切换到1.5.10版本后启动正常。

------------------------------------------------3.28更新-----------------------------------------------------------

springboot 2.0版本以上对包结构有改变,  pagehelper-spring-boot-starter  在版本1.2.3上做了springboot 1.X 和 2.X的兼容

------------------------------------------------3.28更新-----------------------------------------------------------

  首先项目pom文件需引入mybatis的starter,MySQL,数据源(druid)和PageHelper的依赖,如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>springboot-mybatis-demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>springboot-mybatis-demo</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- alibaba druid 数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.13</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.0</version><exclusions><exclusion><artifactId>druid</artifactId><groupId>com.alibaba</groupId></exclusion></exclusions></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-joda</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-parameter-names</artifactId></dependency><!-- 分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version><exclusions><exclusion><artifactId>mybatis-spring-boot-starter</artifactId><groupId>org.mybatis.spring.boot</groupId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- mybatis generator 自动生成代码插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration></plugin></plugins></build></project>

  上面有引入 mybatis generator 自动生成代码插件,能根据数据库的表生成相应的实体类,mapper.xml以及dao类,插件的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包--><classPathEntry  location="E:\maven\repo\mysql\mysql-connector-java\5.1.45\mysql-connector-java-5.1.45.jar"/><context id="DB2Tables"  targetRuntime="MyBatis3"><commentGenerator><property name="suppressDate" value="true"/><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库链接URL,用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/study" userId="root" password="root"></jdbcConnection><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 生成模型的包名和位置--><javaModelGenerator targetPackage="com.example.springbootmybatisdemo.entity" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成映射文件的包名和位置--><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成DAO的包名和位置--><javaClientGenerator type="XMLMAPPER" targetPackage="com.example.springbootmybatisdemo.dao" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--><table tableName="t_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table></context>
</generatorConfiguration>

  其中 <context id="DB2Tables" targetRuntime="MyBatis3">这里的targetRuntime选择Mybatis3,这样自动生成的dao接口会有selective方法,可以根据传入的对象哪些字段不为空来动态生成SQL。

  然后执行maven-generator:generate 命令就可以生成代码,如下图:

最后是application.yml文件:

server:port: 8080
spring:datasource:name: testurl: jdbc:mysql://localhost:3306/studyusername: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverfilters: statmaxActive: 20initialSize: 1maxWait: 60000minIdle: 1time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: select '1'test-while-idle: truetest-on-borrow: falsetest-on-return: falsepool-prepared-statements: truemax-open-prepared-statements: 20mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.springbootmybatisdemo.entity
pagehelper:helper-dialect: mysqlreasonable: truesupport-methods-arguments: trueparams: count=countSql

转载于:https://www.cnblogs.com/deng720/p/8650334.html

springboot整合mybatis记录相关推荐

  1. java springBoot整合MyBatis 记录

    SpringBoot2全套视频教程,springboot零基础到项目实战( https://www.bilibili.com/video/BV15b4y1a7yG?p=28&spm_id_fr ...

  2. SpringBoot整合Mybatis超详细流程

    SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...

  3. SpringBoot整合Mybatis(高级)

    SpringBoot整合Mybatis(高级) 文章目录 SpringBoot整合Mybatis(高级) 前言 基础环境配置 增删改查 ResultMap 复杂查询 多对一 一对多 动态SQL if ...

  4. 【SpringBoot整合Mybatis】数据库某字段值为空时,接口未返回该字段 解决办法

    [SpringBoot整合Mybatis]数据库字段为空时,接口不返回该字段 解决办法 问题描述: 排查问题: 解决问题: 测试: 参考资料: 今天整合项目的时候,发现了SpringBoot整合Myb ...

  5. 详解SpringBoot整合Mybatis框架

    文章目录 前言 一.创建SpringBoot项目 二.配置Mybatis 1. 在pom.xml文件中添加jar包依赖 2. SpringBoot整合Mybatis配置文件 三.创建Mapper接口 ...

  6. SpringBoot整合Mybatis说明,对Mybatis介绍和解释

    1 Mybatis介绍 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBati ...

  7. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...

  8. mybatis plugins_[MyBatis] SpringBoot 整合Mybatis

    现在基本上搭建一个简单的工程都是三剑客 springboot+mybatis+redis 之前整合Mybatis 都是按照SSM来,所以,这一次带来SpringBoot+MyBatis 的快速整合 p ...

  9. 3、SpringBoot整合MyBatis注解版及配置文件版

    目录 1.配置pom.xml 2.配置application.yml 3.配置DruidConfig关联yml的配置文件spring.datasource 4.创建数据库及数据库表结构 5.创建对应的 ...

最新文章

  1. 做了一个系列的Android开发教程列表
  2. dubbo学习笔记 第三章简介dubbo的工作原理
  3. 尝试去读SQLMAP源码(一)
  4. (github标星9200+)《南瓜书》:周志华《机器学习》的代码实现
  5. CG CTF MISC MD5
  6. epp是什么意思_有效的个人生产力(EPP)——助力洁绿形成组织发展合力
  7. 快醒醒,C# 9 中又来了一堆关键词 init,record,with
  8. 系统困境与软件复杂度,为什么我们的系统会如此复杂
  9. 浮动元素与兄弟之间的关系 速记 1211
  10. JSON数据的解析方式
  11. 加州伯克利本科学计算机好吗,美国加州大学伯克利分校和卡耐基梅隆大学计算机科学CS专业哪个好?...
  12. gma 教程 | 气候气象 | 计算标准化降水指数(SPI)
  13. 3d工口医Android,3d口工医完整版
  14. python apkg_GitHub - TonyDongGuaPi/pc_wxapkg_decrypt_python: PC微信小程序 wxapkg 解密
  15. windows下docker 挂载数据卷报错 Error response from daemon: user declined directory sharing
  16. 在Python中安装meta模块
  17. Docker、Docker file、Docker-compose 详解
  18. 10. JavaScript
  19. ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动
  20. HBaseCon亚洲2018峰会盛大开幕 阿里带你洞悉HBase大数据生态最新发展和行业实践

热门文章

  1. R语言编程艺术(1)快速入门
  2. 你奋斗这么辛苦,这辈子要证明什么?
  3. Oracle trunc()函数的用法
  4. 10年追逐技术潮流,差一点儿就两手空空,竹篮打水,留给我的只有经验
  5. PowerDesigner教程系列(总)
  6. 使用ABAP编程实现对微软Office Word文档的操作
  7. Windows安全策略
  8. Jenkins 自动化部署上线 ​
  9. MyBatis批量插入
  10. 使用Maven创建Java项目