前言
人生是一段旅程,走过的路,就是你编织的生活,我们无法预知以后的路途,但是,我们能把握现在的自己,珍惜身边的一切,脚踏实地的走,走好自己的路,不在生命里给自己留下遗憾的风景!
对于企业开发来说,稳定性和便捷性是最重要的两个特性,SpringBoot更像是一个框架的框架,能够实现对多个框架的快速整合和自动装配,很好的满足了企业的需求。在学习了一段时间的框架知识、做了几个项目之后,现在回过头来对SpringBoot装配各种框架进行一个回顾,本文记录SpringBoot如何整合Mybatis框架。
一、创建SpringBoot项目
阿里云的地址如下:
下图为创建好的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类代码:
chain=true) (publicclassUserimplementsSerializable { privateIntegerid; privateStringname; privateIntegerage; privateStringsex; }
实现序列化的作用在于:保证数据在传输时的完整性
接着在yml文件中配置如下参数:
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/jt?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=trueusername: 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文件代码:
<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="cn.shijimo.springboot_mybatis.mapper.UserMapper"><sqlid="allCols">id,name,age,sex</sql><selectid="selectAll"resultType="User">select<includerefid="allCols"></include>fromdemo_user; </select></mapper>
之前作者写过如何配置Mapper.xml文件的模板,可以参考链接
五、测试
在测试类中测试是否整合成功,首先在主类上添加包扫描注解,告诉SpringBoot中Mapper接口在哪里
接口无法通过new关键字来创建实例,而自动注入时Spring容器内部会为接口创建代理对象 -> JDK的动态代理对象
测试类代码:
publicclassSpringbootMybatisApplicationTests { privateUserMapperuserMapper; publicvoidselectAllTest() { List<User>userList=userMapper.selectAll(); for (Useruser : userList) { System.out.println(user); } } }
运行结果:
总结
以上便为SpringBoot整合Mybatis框架的过程,形象地说,Spring Boot就像一种快速、有效的“万能胶”,SpringBoot几乎能将Java领域的所有框架与Spring框架迅速地整合在一起,而且由于Spring Boot为这些框架的整合提供了自动配置功能,因此整合它们几乎不需要提供额外的配置信息——不仅不需要提供XML配置,甚至连注解都可以省略。
想干就干,要干就干的漂亮,即使没有人为你鼓掌,至少还能够勇敢的自我欣赏。当你为自己的坎坷人生不断鼓掌,加油、奋进时,必将迎来别人的掌声与喝彩!