文档章节

Springboot 中 Mybatis 的使用

为了美好的明天
 为了美好的明天
发布于 2018/01/19 14:51
字数 679
阅读 1965
收藏 3

官方文档:

Mybatis开发团队为Spring Boot 提供了 MyBatis-Spring-Boot-Starter 方便使用。

要使用MyBatis-Spring-Boot-Starter模块,只需要在类路径中包含 

mybatis-spring-boot-autoconfigure.jar文件及其依赖项(mybatis.jar,mybatis -spring.jar等) 。

下面介绍的是我用到的一部分功能,全部功能还请查阅官方文档

一、使用

如果您正在使用Maven,只需将以下依赖项添加到您的pom.xml中:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</dependency>

版本自己可选:

需要注意的是:在Spring 中使用mybatis 最少需要 一个SqlSessionFactory 和 mapper 接口

 

引入MyBatis-Spring-Boot-Starter 模块后 将自动提供以

下功能

  1. 自动检测现有的数据源。
  2. 将创建并注册一个SqlSessionFactory的实例,使用SqlSessionFactoryBean作为输入传递该DataSource
  3. 将创建并注册SqlSessionFactory的SqlSessionTemplate实例。
  4. 自动扫描您的“Mapper”,将它们链接到SqlSessionTemplate并将它们注册到Spring上下文,以便将它们注入到bean中。

就是说,使用了该Starter之后,只需要定义一个DataSource即可,它会自动创建使用该DataSource的SqlSessionFactoryBean以及SqlSessionTemplate,会自动扫描你的Mappers,连接到SqlSessionTemplate,并注册到Spring上下文中。

 

二 、配置

与其他Spring Boot应用程序一样,MyBatis-Spring-Boot-Application配置参数存储在application.properties(或application.yml)内部。 使用前缀 mybatis

可用的属性有:

  • config-location : MyBatis. xml配置文件的位置。
  • check-config-location: 指示是否执行MyBatis .xml配置文件的存在检查
  • mapper-locations: Mapper. xml配置文件的位置。
  • type-aliases-package : 一般是放在model(或实体类) 上 ,别名替换,默认是去掉包名。
  • type-handlers-package:用于搜索类型处理程序的包所在位置
  • configuration-properties:MyBatis配置的外部化属性。 指定的属性可以用作MyBatis配置文件和Mapper文件的占位符。
  • configuration:一个MyBatis配置bean。 关于可用的属性,请参阅MyBatis参考页面。 注意此属性不能与配置位置(config-location)同时使用。

 红色标注为常用属性

例:

# application.properties
mybatis.type-aliases-package=com.example.domain.model
mybatis.type-handlers-package=com.example.typehandler
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=30

 

三、真实使用过程

1、pom中引入 MyBatis-Spring-Boot-Starter

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</dependency>

2、配置数据源

直接在application.properties 中

3、在application.properties 中配置Mapper.xml 的扫描

4、编写Mapper接口,和Mapper.xml

Mapper 接口要加@Mapper 注解

MyBatis-Spring-Boot-Starter将默认搜索标记有@Mapper注解的映射器。

您可能需要指定自定义注解或标记界面进行扫描。 如果是这样,你必须使用@MapperScan注解。

默认不用加这个注解

 

 

参考 : https://www.cnblogs.com/larryzeal/p/5874107.html

© 著作权归作者所有

共有 人打赏支持
为了美好的明天
粉丝 35
博文 621
码字总数 182083
作品 0
通州
程序员
私信 提问
SpringBoot 学习二:操作数据库

本文将从以下几个方面介绍: 前言 配置数据源 SpringBoot 整合 Mybatis SpringBoot 整合 JdbcTemplate SpringBoot 整合 Redis 前言 在上篇文章 SpringBoot 学习一 中已经学习了 SpringBoot的...

tsmyk0715
2018/09/26
0
0
【SpringBoot2.0系列05】SpringBoot之整合Mybatis

【SpringBoot2.0系列01】初识SpringBoot 【SpringBoot2.0系列02】SpringBoot之使用Thymeleaf视图模板 【SpringBoot2.0系列03】SpringBoot之使用freemark视图模板 【SpringBoot2.0系列04】Spr...

余空啊
2018/08/14
0
0
SpringBootBucket 1.0.0 发布,SprintBoot 全家桶

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
7.3K
17
Spring Boot 全家桶 - SpringBootBucket

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
0
1
SpringBootBucket 2.0.4 发布,代号“傲娇的小二晶”

SpringBootBucket 自从1.0.0版本发布后就有好多人喜欢,目前码云上面star数量接近1.2k。上个月还收到了红薯签名的1000 star奖杯,这个我自己也觉得很惊讶。 由于SpringBoot 1.x官方将终止维护...

一刀
2018/09/16
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

Hibernate SQLite方言

以下代码有参考过github上国外某位大佬的,在发文的最新稳定版Hibernate上是可用的,有时间再仔细分析一下 import org.hibernate.dialect.Dialect;import org.hibernate.dialect.function.S...

CHONGCHEN
今天
3
0
CentOS 7 MariaDB搭建主从服务器

本文编写环境为CentOS7。确保关闭SELinux,关闭防火墙或者防打开指定端口。具体信息如下 #master[root@promote ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [r...

白豆腐徐长卿
今天
9
0
介绍python中运算符优先级

下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部...

问题终结者
今天
3
0
Spring Boot 2.x基础教程:快速入门

简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让...

程序猿DD
昨天
9
0
SpringSecurity认证流程源码级详解

SpringSecurity认证流程源码级详解 认证流程说明 认证结果如何在多个请求之间共享 获取认证用户信息

chendom
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部