Spring Boot 技术问题教程:Spring Boot 集成 MyBatis 实现数据持久化
简介
本文详细介绍了如何在Spring Boot中集成MyBatis,通过案例讲解实现数据持久化的过程。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
步骤一:创建Spring Boot项目
使用Spring Initializr快速创建一个Spring Boot项目,选择以下依赖:
- Spring Web
- MyBatis Framework
- MySQL Driver
- Lombok(可选,用于简化代码)
步骤二:配置数据源
在`application.properties`或`application.yml`中配置数据源信息。例如:
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo spring.datasource.username=root spring.datasource.password=yourpassword spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
步骤三:创建数据库表
在MySQL中创建一个简单的用户表:
CREATE TABLE user ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL );
步骤四:创建实体类
创建一个`User`实体类以映射数据库表:
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
步骤五:创建Mapper接口和XML配置
创建一个`UserMapper`接口,并编写对应的XML配置(或使用注解)。
// UserMapper.java import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; @Mapper public interface UserMapper { @Select("SELECT * FROM user") List<User> findAll(); }
如果使用XML配置,可以创建一个`UserMapper.xml`文件:
<mapper namespace="com.example.demo.mapper.UserMapper"> <select id="findAll" resultType="com.example.demo.entity.User"> SELECT * FROM user </select> </mapper>
步骤六:编写Service和Controller
编写一个`UserService`类和`UserController`类以处理业务逻辑和请求。
// UserService.java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> getAllUsers() { return userMapper.findAll(); } } // UserController.java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List<User> getAllUsers() { return userService.getAllUsers(); } }
步骤七:运行并测试
启动Spring Boot应用程序,访问`http://localhost:8080/users`,应该会看到从数据库中查询到的用户列表。
总结
通过本文,我们详细介绍了如何在Spring Boot中集成MyBatis实现数据持久化。从创建项目、配置数据源到创建实体类、Mapper接口、Service和Controller,最终实现了简单的数据查询功能。希望这篇文章对你有所帮助!