Springboot 中 Mybatis 的使用

news/2024/7/5 3:59:24

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

官方文档:

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 中

144419_yLHJ_2885163.png

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

144631_pOfg_2885163.png

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

Mapper 接口要加@Mapper 注解

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

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

145022_6Pww_2885163.png

默认不用加这个注解

 

 

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

转载于:https://my.oschina.net/zjllovecode/blog/1609629


http://lihuaxi.xjx100.cn/news/237670.html

相关文章

EOS多索引表使用指南

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自链客区块链技术问答社区&#xff0c;未经允许拒绝转载。 看到了一片文章&#xff0c;EOS多索引表的使用指南&#xff0c;感觉仍是挺好的&#xff0c;所以拿出来分享一下。 词汇表 code :是指已…

连信协议整体框架

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 连信协议的整体框架说明。”前一阵搞连信协议搞废了&#xff0c;风控一直过不去&#xff0c;没法过8&#xff0c;再加一堆其它稀里糊涂的问题&#xff0c;看样子从协议搞连信此路不通&#xff0c;放出来给&#xff0c;给大家一起…

如何使用JavaScript Math.floor生成范围内的随机整数-已解决

快速解决方案 (Quick Solution) function randomRange(myMin, myMax) {return Math.floor(Math.random() * (myMax - myMin 1) myMin); }代码说明 (Code Explanation) Math.random() generates our random number between 0 and ≈ 0.9. Math.random()生成介于0和≈0.9之间的…

九宫格代码

CGFloat margin 10.0f;CGFloat appViewWidth (375 - 4 * margin)/3;CGFloat appViewHeight (375 - 4 * margin)/3;//2. 完成布局设计//三列int totalloc 3;for (int i 0; i < 9; i) {int row i / totalloc;//行号int loc i % totalloc;//列号CGFloat appViewX margi…

区块链未来的发展前景是什么?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自链客区块链技术问答社区&#xff0c;未经允许拒绝转载。 区块链未来3到5年应该会出现职业井喷式开展&#xff0c;相应所需的人才必定水涨船高&#xff0c;每一个开发人员都不应该错失这样的时机。 …

python之CSV文件格式

1、csv文件是以一些以逗号分隔的值 import csv filename "wenjian.csv" with open(filename) as f:reader csv.reader()header next(reader)for index,column in enumerate(header):#enumerate函数获取每个元素的索引及其值print(index,column) 转载于:https://ww…

连信的protobuf数据格式

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 连信里用到的protobuf结构。”在看本文之前&#xff0c;可以先进行一下回顾&#xff0c;之前已经对协议的框架进行了整体的介绍&#xff1a;连信协议整体框架看了后结合自己的分析过程&#xff0c;应该有个初步的了解。后续会陆续…

Caused by: org.xml.sax.SAXParseException: 不允许有匹配 [xX][mM][lL] 的处理指令目标。

版权声明&#xff1a;本文为 testcs_dn(微wx笑) 原创文章&#xff0c;非商用自由转载-保持署名-注明出处&#xff0c;谢谢。 https://blog.csdn.net/testcs_dn/article/details/81001749 Caused by: org.xml.sax.SAXParseException: 不允许有匹配 "[xX][mM][lL]" 的处…