人生是一段旅程,走过的路,就是你编织的生活,我们无法预知以后的路途,但是,我们能把握现在的自己,珍惜身边的一切,脚踏实地的走,走好自己的路,不在生命里给自己留下遗憾的风景!
对于企业开发来说,稳定性和便捷性是最重要的两个特性,SpringBoot更像是一个框架的框架,能够实现对多个框架的快速整合和自动装配,很好的满足了企业的需求。在学习了一段时间的框架知识、做了几个项目之后,现在回过头来对SpringBoot装配各种框架进行一个回顾,本文记录SpringBoot如何整合Mybatis框架。
提示:以下是本篇文章正文内容,下面案例可供参考
http://start.aliyun.com
下图为创建好的SpringBoot项目
在这里可能会出现左侧的项目导航栏出java文件和recourse文件显示的都是普通的文件夹,右侧没有maven项目的图标,这个是因为还没有全部下载完成,等待下载完成即可
配置Mybatis的步骤为:
在这里要添加依赖的jar包有三种,分别为SpringBoot整合Mybatis包,数据库驱动包,JDBC包
SpringBoot整合Mybatis包:
<dependency>
<groupId>org.mybatis.spring.bootgroupId>
<artifactId>mybatis-spring-boot-starterartifactId>
<version>2.2.0version>
dependency>
数据库驱动包:
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<scope>runtimescope>
dependency>
JDBC包:
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-jdbcartifactId>
dependency>
作者的idea版本为2020.2,在高版本的idea中maven项目没有了自动导入依赖的功能,需要我们自己手动去添加依赖
首先先在项目工程中创建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
参数解释:
在项目路径下新建名为mapper的包,在包中创建名为UserMapper的接口
Mapper接口代码:
public interface UserMapper {
List<User> selectAll();
}
在resource目录下新建文件夹命名为mappers,在mappers文件夹中创建xml文件命名为UserMapper.xml
UserMapper.xml文件代码:
<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配置,甚至连注解都可以省略。
想干就干,要干就干的漂亮,即使没有人为你鼓掌,至少还能够勇敢的自我欣赏。当你为自己的坎坷人生不断鼓掌,加油、奋进时,必将迎来别人的掌声与喝彩!