介绍
Spring Boot是一个快速、方便的框架,可以用来构建独立的、产品级的Spring应用程序。MyBatis是一个轻量级的持久层框架,可以与各种关系型数据库进行交互。本文将介绍如何在Spring Boot应用程序中,快速整合MyBatis。
步骤
1. 创建Spring Boot项目
首先,我们需要创建一个Spring Boot项目。可以使用Spring Initializer来快速生成项目的骨架代码。在终端或控制台中运行以下命令:
$ mkdir mybatis-demo
$ cd mybatis-demo
$ curl https://start.spring.io/starter.zip -o demo.zip
$ unzip demo.zip
2. 添加MyBatis依赖
打开pom.xml
文件,添加MyBatis和MySQL驱动的依赖:
<dependencies>
<!-- Spring Boot Starter for MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- MySQL Connector/J -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
3. 配置数据库连接
在application.properties
文件中添加数据库连接信息:
# 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
4. 创建数据库表和实体类
创建一个名为user
的表,并在项目中创建一个对应的实体类User
:
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
5. 创建Mapper和Mapper.xml
创建一个用于操作User表的Mapper接口UserMapper
:
@Mapper
public interface UserMapper {
void insert(User user);
void update(User user);
void delete(Long id);
User getById(Long id);
List<User> getAll();
}
创建一个对应的Mapper.xml文件UserMapper.xml
,并在其中定义SQL语句:
<?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="com.example.demo.mapper.UserMapper">
<insert id="insert" parameterType="com.example.demo.model.User">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
<update id="update" parameterType="com.example.demo.model.User">
UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
</update>
<delete id="delete" parameterType="java.lang.Long">
DELETE FROM user WHERE id=#{id}
</delete>
<select id="getById" resultType="com.example.demo.model.User" parameterType="java.lang.Long">
SELECT * FROM user WHERE id=#{id}
</select>
<select id="getAll" resultType="com.example.demo.model.User">
SELECT * FROM user
</select>
</mapper>
6. 编写Service类
创建一个用于操作User的Service类,调用Mapper中的方法:
@Service
public class UserServiceImpl implements UserService {
private final UserMapper userMapper;
public UserServiceImpl(UserMapper userMapper) {
this.userMapper = userMapper;
}
@Override
public void insert(User user) {
userMapper.insert(user);
}
@Override
public void update(User user) {
userMapper.update(user);
}
@Override
public void delete(Long id) {
userMapper.delete(id);
}
@Override
public User getById(Long id) {
return userMapper.getById(id);
}
@Override
public List<User> getAll() {
return userMapper.getAll();
}
}
7. 编写Controller类
创建一个用于处理HTTP请求的Controller类,注入UserService并调用对应的方法:
@RestController
@RequestMapping("/user")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@PostMapping("/create")
public void createUser(@RequestBody User user) {
userService.insert(user);
}
// 省略其他方法
}
8. 启动应用程序
使用以下命令启动应用程序:
$ ./mvnw spring-boot:run
9. 测试API
使用工具(如Postman)发送HTTP请求进行测试。例如,使用POST方法请求http://localhost:8080/user/create
,并在请求体中传递JSON数据以创建用户。
结论
通过以上步骤,我们成功地将MyBatis整合到了Spring Boot应用程序中。使用MyBatis可以更方便地操作数据库,提供了灵活的SQL映射配置,并且与Spring Boot的集成十分简单快捷。希望本文对于想要快速入门Spring Boot整合MyBatis的开发者有所帮助。
欢迎访问我的博客了解更多关于Spring Boot和MyBatis的相关内容!
参考资料
本文来自极简博客,作者:魔法星河,转载请注明原文链接:SpringBoot整合MyBatis快速入门