详解SpringBoot整合Mybatis框架
文章目录前言一、创建SpringBoot项目二、配置Mybatis1. 在pom.xml文件中添加jar包依赖2. SpringBoot整合Mybatis配置文件三、创建Mapper接口四、创建XML映射文件五、测试是否整合成功总结前言人生是一段旅程,走过的路,就是你编织的生活,我们无法预知以后的路途,但是,我们能把握现在的自己,珍惜身边的一切,脚踏实地的走,走好自己的路,不在生命里给自己留下遗憾
文章目录
前言
人生是一段旅程,走过的路,就是你编织的生活,我们无法预知以后的路途,但是,我们能把握现在的自己,珍惜身边的一切,脚踏实地的走,走好自己的路,不在生命里给自己留下遗憾的风景!
对于企业开发来说,稳定性和便捷性是最重要的两个特性,SpringBoot更像是一个框架的框架,能够实现对多个框架的快速整合和自动装配,很好的满足了企业的需求。在学习了一段时间的框架知识、做了几个项目之后,现在回过头来对SpringBoot装配各种框架进行一个回顾,本文记录SpringBoot如何整合Mybatis框架。
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建SpringBoot项目
阿里云的地址如下:
http://start.aliyun.com
下图为创建好的SpringBoot项目
在这里可能会出现左侧的项目导航栏出java文件和recourse文件显示的都是普通的文件夹,右侧没有maven项目的图标,这个是因为还没有全部下载完成,等待下载完成即可
二、配置Mybatis
配置Mybatis的步骤为:
- 在pom.xml文件中添加jar包依赖
- SpringBoot项目整合Mybatis配置文件
(1) 连接数据库
(2) SpringBoot整合Mybatis - 创建Mapper接口
- 创建XML映射文件
1. 在pom.xml文件中添加jar包依赖
在这里要添加依赖的jar包有三种,分别为SpringBoot整合Mybatis包,数据库驱动包,JDBC包
SpringBoot整合Mybatis包:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
数据库驱动包:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
JDBC包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
作者的idea版本为2020.2,在高版本的idea中maven项目没有了自动导入依赖的功能,需要我们自己手动去添加依赖
2. SpringBoot整合Mybatis配置文件
首先先在项目工程中创建pojo包,路径为:src->main->java->(自己的项目路径)->创建pojo包
SpringBoot的配置参数多数都在application.properties或application.yml文件中进行配置,新创建好的SpringBoot项目中默认的配置文件为application.properties,因为yml文件相较于properties文件来说,更具备层次性,所以作者将文件后缀名改为了yml
接着在pojo包下创建User实体类,用于之后测试是否整合成功
User类代码:
@Data
@Accessors(chain = true)
public class User implements Serializable {
private Integer id;
private String name;
private Integer age;
private String sex;
}
实现序列化的作用在于:保证数据在传输时的完整性
接着在yml文件中配置如下参数:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/jt?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
# 如果数据库密码以数字0开头,则必须使用""号包裹 -> 例如"01234"
password: 123456
# SpringBoot整合Mybatis配置
mybatis:
# 定义别名映射包:实现对象映射
type-aliases-package: cn.shijimo.springboot_mybatis.pojo
# 加载映射文件,一个接口对应一个映射文件
mapper-locations: classpath:/mappers/*.xml
# 开启驼峰映射
configuration:
map-underscore-to-camel-case: true
参数解释:
- serverTimezone=Asia/Shanghai (选择时区为亚洲上海)
- useUnicode=true&characterEncoding=utf8 (是否使用unicode编码及设定字符集)
- autoReconnect=true (是否自动重连)
- allowMultiQueries=true (是否允许批量操作)
三、创建Mapper接口
在项目路径下新建名为mapper的包,在包中创建名为UserMapper的接口
Mapper接口代码:
public interface UserMapper {
List<User> selectAll();
}
四、创建XML映射文件
在resource目录下新建文件夹命名为mappers,在mappers文件夹中创建xml文件命名为UserMapper.xml
UserMapper.xml文件代码:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.shijimo.springboot_mybatis.mapper.UserMapper">
<sql id="allCols">
id,name,age,sex
</sql>
<select id="selectAll" resultType="User">
select
<include refid="allCols"></include>
from demo_user;
</select>
</mapper>
之前作者写过如何配置Mapper.xml文件的模板,可以参考链接
IDEA添加Mapper.xml文件模板
五、测试
在测试类中测试是否整合成功,首先在主类上添加包扫描注解,告诉SpringBoot中Mapper接口在哪里
接口无法通过new关键字来创建实例,而自动注入时Spring容器内部会为接口创建代理对象 -> JDK的动态代理对象
测试类代码:
@SpringBootTest
public class SpringbootMybatisApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void selectAllTest() {
List<User> userList = userMapper.selectAll();
for (User user : userList) {
System.out.println(user);
}
}
}
运行结果:
总结
以上便为SpringBoot整合Mybatis框架的过程,形象地说,Spring Boot就像一种快速、有效的“万能胶”,SpringBoot几乎能将Java领域的所有框架与Spring框架迅速地整合在一起,而且由于Spring Boot为这些框架的整合提供了自动配置功能,因此整合它们几乎不需要提供额外的配置信息——不仅不需要提供XML配置,甚至连注解都可以省略。
想干就干,要干就干的漂亮,即使没有人为你鼓掌,至少还能够勇敢的自我欣赏。当你为自己的坎坷人生不断鼓掌,加油、奋进时,必将迎来别人的掌声与喝彩!
更多推荐
所有评论(0)