Spring Boot集成MyBatis实战教程
Spring Boot集成MyBatis实战教程
Spring Boot作为Java领域最热门的框架之一,已经成为Java应用开发的事实标准。本文将详细介绍如何在Spring Boot项目中集成MyBatis,帮助开发者快速掌握这一核心技术。
1. 前言
Spring Boot可以说是Java领域中最火的框架之一,也是目前Java应用开发的事实标准。如果不会使用Spring Boot,未免有些过时。本节,我们将一起学习如何使用Spring Boot来集成MyBatis。
2. 项目初始化
对于拥有IDEA专业版的人来说,新建Spring Boot项目是十分方便的。当然,如果你没有也没关系,Spring官方提供了一个快速新建项目的网站。
打开https://start.spring.io/。如下:
给项目输入合适的groupId和artifactId,然后点击生成按钮,浏览器会自动下载一个压缩包springboot-mybatis-exmaple.zip。
解压该包,并通过IDE打开这个项目。
3. 启动器
在项目的pom文件中添加如下3个依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
mybatis-spring-boot-starter是MyBatis为Spring Boot提供的启动器,添加后就可以以少量的配置来快速使用MyBatis;spring-boot-starter-web是Spring Boot提供的Web启动器,会给我们提供一个Web应用环境;mysql-connector-java是MySQL数据库驱动依赖。
4. 配置
在src/main/resources有Spring Boot提供的默认配置文件application.properties。在该配置文件下,我们需要添加上对于的数据源配置。
# 数据源配置,请修改为你项目的实际配置
spring.datasource.url=jdbc:mysql://localhost:3306/imooc
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
5. 实践
5.1 模型层
在项目的com.imooc.mybatis.springbootmybatisexample的包下新建model包,并在该包下新建User类。如下:
public class User implements Serializable {
private Long id;
private String username;
private Integer age;
private Integer score;
// 省略getter和setter方法
}
User类与数据表imooc_user对应。
5.2 数据访问层
在com.imooc.mybatis.springbootmybatisexample包下新建mapper包,并新建UserMapper类。如下:
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
}
5.3 控制层
在com.imooc.mybatis.springbootmybatisexample包下新建controller包,并新建UserController类。如下:
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
}
使用@RestController注解将UserController标记为控制器。
5.4 完善
有了雏形后,我们再为这些类添加上具体的业务,比如查询所有imooc_user用户。
在UserMapper中,我们添加上getUsers接口方法,并通过Select注解来映射相应的SQL语句。
@Mapper
@Repository
public interface UserMapper {
@Select("SELECT * FROM imooc_user")
List<User> getUsers();
}
在UserController中,我们添加上对应的getUsers API,该API对外暴露所有用户数据。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping
public List<User> getUsers() {
return userMapper.getUsers();
}
}
5.5 测试
运行项目,如果你使用IDE,可直接通过按钮来运行,如果没有也可使用终端来运行程序:
mvn spring-boot:run
运行成功后,我们测试一下:
curl 127.0.0.1:8080/user/
[{"id":1,"username":"peter","age":18,"score":100},
{"id":2,"username":"pedro","age":24,"score":200},
{"id":3,"username":"jerry","age":28,"score":500}]
6. 小结
- Spring Boot集成MyBatis是十分方便的,只需少量的配置就可轻松使用MyBatis。
- Spring Boot + MyBatis几乎是国内标配,请务必要上手实操一下。