springboot整合mybatis记录
首先有个地方要说明一下,要使用到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记录相关推荐
- java springBoot整合MyBatis 记录
SpringBoot2全套视频教程,springboot零基础到项目实战( https://www.bilibili.com/video/BV15b4y1a7yG?p=28&spm_id_fr ...
- SpringBoot整合Mybatis超详细流程
SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...
- SpringBoot整合Mybatis(高级)
SpringBoot整合Mybatis(高级) 文章目录 SpringBoot整合Mybatis(高级) 前言 基础环境配置 增删改查 ResultMap 复杂查询 多对一 一对多 动态SQL if ...
- 【SpringBoot整合Mybatis】数据库某字段值为空时,接口未返回该字段 解决办法
[SpringBoot整合Mybatis]数据库字段为空时,接口不返回该字段 解决办法 问题描述: 排查问题: 解决问题: 测试: 参考资料: 今天整合项目的时候,发现了SpringBoot整合Myb ...
- 详解SpringBoot整合Mybatis框架
文章目录 前言 一.创建SpringBoot项目 二.配置Mybatis 1. 在pom.xml文件中添加jar包依赖 2. SpringBoot整合Mybatis配置文件 三.创建Mapper接口 ...
- SpringBoot整合Mybatis说明,对Mybatis介绍和解释
1 Mybatis介绍 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBati ...
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...
SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...
- mybatis plugins_[MyBatis] SpringBoot 整合Mybatis
现在基本上搭建一个简单的工程都是三剑客 springboot+mybatis+redis 之前整合Mybatis 都是按照SSM来,所以,这一次带来SpringBoot+MyBatis 的快速整合 p ...
- 3、SpringBoot整合MyBatis注解版及配置文件版
目录 1.配置pom.xml 2.配置application.yml 3.配置DruidConfig关联yml的配置文件spring.datasource 4.创建数据库及数据库表结构 5.创建对应的 ...
最新文章
- 做了一个系列的Android开发教程列表
- dubbo学习笔记 第三章简介dubbo的工作原理
- 尝试去读SQLMAP源码(一)
- (github标星9200+)《南瓜书》:周志华《机器学习》的代码实现
- CG CTF MISC MD5
- epp是什么意思_有效的个人生产力(EPP)——助力洁绿形成组织发展合力
- 快醒醒,C# 9 中又来了一堆关键词 init,record,with
- 系统困境与软件复杂度,为什么我们的系统会如此复杂
- 浮动元素与兄弟之间的关系 速记 1211
- JSON数据的解析方式
- 加州伯克利本科学计算机好吗,美国加州大学伯克利分校和卡耐基梅隆大学计算机科学CS专业哪个好?...
- gma 教程 | 气候气象 | 计算标准化降水指数(SPI)
- 3d工口医Android,3d口工医完整版
- python apkg_GitHub - TonyDongGuaPi/pc_wxapkg_decrypt_python: PC微信小程序 wxapkg 解密
- windows下docker 挂载数据卷报错 Error response from daemon: user declined directory sharing
- 在Python中安装meta模块
- Docker、Docker file、Docker-compose 详解
- 10. JavaScript
- ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动
- HBaseCon亚洲2018峰会盛大开幕 阿里带你洞悉HBase大数据生态最新发展和行业实践