前言
本文主要分析Spring boot 整合持久层框架Mybatis,大致概括了其过程,希望对大家有帮助。
环境
- Java1.8
- maven
- spring boot 2.0.8.RELEASE
- mysql
添加依赖
第一步:添加spring boot和mybatis的依赖,可以根据实际情况进行修改版本
spring boot相关依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
<!-- maven 插件 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
mybatis相关依赖
<!-- Spring Boot 整合的 mybatis 的依赖jar包,
其中包含mybatis相关的依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- MySql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
application配置
第二步:application.yml文件添加配置
分为数据源配置 + mybatis的配置
application.yml
## 数据源的配置
spring:
datasource:
username: root
password: mysql
## 新版本MySQL驱动链接URL必须添加时区配置 serverTimezone=UTC
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.jdbc.Driver
## mybatis的配置
mybatis:
## 配置mybatis的总配置文件路径
config-location: classpath:mybatis/mybatis.xml
## 配置文件各个mapper xml文件的路径
mapper-locations: classpath:mybatis/mapper/*.xml
## 配置取别名的实体类包全路径
type-aliases-package: com.tianya.springboot.mybatis.entity
启动类
第三步:在启动类上添加mapper接口扫描路径
SpringMybatisApplication.java
@SpringBootApplication
// 自动扫描mapper接口全路径
@MapperScan("com.tianya.springboot.mybatis.mapper")
public class SpringMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringMybatisApplication.class, args);
}
}
编写mapper接口
第四步:在接口上添加mapper注解
IUserMapper.java
// Mapper是mybatis的注解,定义一个mapper接口,会自动识别 SqlSessionFactory
// 也会被添加到spring bean容器动
// Mapper相当于 Repository + @MapperScan
// 若是只用@Repository注解,不会有mybatis的自动扫描配置
@Mapper
public interface IUserMapper {
public List<UserBean> getUserList() ;
}
编写mapper xml文件
第五步:在mapper xml文件具体实现的SQL的方法
IUserMapper.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">
<!-- namespace必须是mapper接口的全路径 -->
<mapper namespace="com.tianya.springboot.mybatis.mapper.IUserMapper">
<!-- id必须是mapper接口中定义的方法名,不可重载 -->
<select id="getUserList" resultType="UserBean">
select * from users
</select>
</mapper>
mybatis.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<!-- application中已经添加的,这儿可以不用添加 -->
<package name="com.tianya.springboot.mybatis.entity"/>
</typeAliases>
</configuration>
编写控制层
UserController.java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService ;
@GetMapping({"","/"})
public List<UserBean> getList() {
return userService.getList();
}
}
服务层
UserService.java
@Service
public class UserService {
@Autowired
private IUserMapper userMapper ;
public List<UserBean> getList(){
return userMapper.getUserList();
}
}
项目结构
结尾
本文到这里就结束了,感谢看到最后的朋友,都看到最后了,点个赞再走啊,如有不对之处还请多多指正。
网友评论