SPRING BOOT TUTORIAL SPRING BOOT TUTORIAL
GitHub (opens new window)
GitHub (opens new window)
  • 框架

    • SpringBoot

      • SpringBoot综合

      • SpringBoot基础

      • SpringBootWeb

      • SpringBoot数据

        • SpringBoot 之 JDBC
        • SpringBoot 之集成 MyBatis
          • 新书《MyBatis 从入门到精通》
          • 项目依赖
          • Spring DevTools 配置
          • 集成 MyBatis Generator
          • application.properties 配置
          • application.yml 配置
          • SSM 集成的基础项目
          • MyBatis 工具 http://www.mybatis.tk
          • 作者信息
        • SpringBoot 之集成 Elasticsearch
        • SpringBoot 之集成 MongoDB
      • SpringBootIO

      • SpringBoot安全

      • SpringBoot其他

  • Java
  • 框架
  • SpringBoot
  • SpringBoot数据
dunwu
2019-05-09
目录

SpringBoot 之集成 MyBatis

# SpringBoot 之集成 MyBatis, 分页插件 PageHelper, 通用 Mapper

  • Spring Boot 1.5.1.RELEASE (opens new window)
  • mybatis-spring-boot-starter (opens new window)
  • mapper-spring-boot-starter (opens new window)
  • pagehelper-spring-boot-starter (opens new window)

# 新书《MyBatis 从入门到精通》

img

预售地址:京东 (opens new window),当当 (opens new window),亚马逊 (opens new window)

CSDN 博客:http://blog.csdn.net/isea533/article/details/73555400

GitHub 项目:https://github.com/mybatis-book/book

# 项目依赖

<!--mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.1</version>
</dependency>
<!--mapper-->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>1.2.4</version>
</dependency>
<!--pagehelper-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

# Spring DevTools 配置

感谢emf1002 (opens new window)提供的解决方案。

在使用 DevTools 时,通用 Mapper 经常会出现 class x.x.A cannot be cast to x.x.A。

同一个类如果使用了不同的类加载器,就会产生这样的错误,所以解决方案就是让通用 Mapper 和实体类使用相同的类加载器即可。

DevTools 默认会对 IDE 中引入的所有项目使用 restart 类加载器,对于引入的 jar 包使用 base 类加载器,因此只要保证通用 Mapper 的 jar 包使用 restart 类加载器即可。

在 src/main/resources 中创建 META-INF 目录,在此目录下添加 spring-devtools.properties 配置,内容如下:

restart.include.mapper=/mapper-[\\w-\\.]+jar
restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar

使用这个配置后,就会使用 restart 类加载加载 include 进去的 jar 包。

# 集成 MyBatis Generator

通过 Maven 插件集成的,所以运行插件使用下面的命令:

mvn mybatis-generator:generate

Mybatis Geneator 详解:

http://blog.csdn.net/isea533/article/details/42102297

# application.properties 配置

#mybatis
mybatis.type-aliases-package=tk.mybatis.springboot.model
mybatis.mapper-locations=classpath:mapper/*.xml

#mapper
#mappers 多个接口时逗号隔开
mapper.mappers=tk.mybatis.springboot.util.MyMapper
mapper.not-empty=false
mapper.identity=MYSQL

#pagehelper
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

# application.yml 配置

完整配置可以参考 src/main/resources/application-old.yml (opens new window) ,和 MyBatis 相关的部分配置如下:

mybatis:
  type-aliases-package: tk.mybatis.springboot.model
  mapper-locations: classpath:mapper/*.xml

mapper:
  mappers:
    - tk.mybatis.springboot.util.MyMapper
  not-empty: false
  identity: MYSQL

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

注意 mapper 配置,因为参数名固定,所以接收参数使用的对象,按照 Spring Boot 配置规则,大写字母都变了带横线的小写字母。针对如 IDENTITY(对应 i-d-e-n-t-i-t-y)提供了全小写的 identity 配置,如果 IDE 能自动提示,看自动提示即可。

# SSM 集成的基础项目

https://github.com/abel533/Mybatis-Spring

# MyBatis 工具 http://www.mybatis.tk

  • 推荐使用 Mybatis 通用 Mapper3 https://github.com/abel533/Mapper
  • 推荐使用 Mybatis 分页插件 PageHelper https://github.com/pagehelper/Mybatis-PageHelper

# 作者信息

  • 作者博客:http://blog.csdn.net/isea533
  • 作者邮箱:abel533@gmail.com
  • 如需加群,请通过 http://mybatis.tk 首页按钮加群。
📝 帮助改善此页面! (opens new window)
#Java#框架#Spring#SpringBoot#MyBatis#PageHelper#Mapper
上次更新: 2024/01/27, 23:16:10
SpringBoot 之 JDBC
SpringBoot 之集成 Elasticsearch

← SpringBoot 之 JDBC SpringBoot 之集成 Elasticsearch→

最近更新
01
SpringBoot 之快速入门
12-10
02
SpringBoot 之安全快速入门
05-13
03
SpringBoot 知识图谱
08-12
更多文章>
Theme by Vdoing | Copyright © 2019-2024 钝悟(dunwu) | CC-BY-SA-4.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×