提示信息

Spring Boot 整合MyBatis实现数据访问

雁过留香 已关注

将 Spring Boot 与 MyBatis 整合可以简化数据访问层的开发,同时利用 Spring Boot 的自动配置和 MyBatis 的强大功能。以下是一个简单的步骤指南,教你如何在 Spring Boot 项目中整合 MyBatis:

Step 1: 创建 Spring Boot 项目

可以使用 Spring Initializr 来创建一个新的 Spring Boot 项目。在项目中选择以下依赖项:
- Spring Web
- MyBatis Framework
- MySQL Driver (或者你正在使用的数据库)

Step 2: 添加 Maven 依赖

如果没有通过 Spring Initializr 添加依赖,你可以在 pom.xml 中手动添加:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-web</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>org.mybatis.spring.boot</groupId>
  11. <artifactId>mybatis-spring-boot-starter</artifactId>
  12. <version>3.0.0</version> <!-- 确保使用最新版本 -->
  13. </dependency>
  14. <dependency>
  15. <groupId>mysql</groupId>
  16. <artifactId>mysql-connector-java</artifactId>
  17. <version>8.0.27</version> <!-- 确保使用与你的MySQL兼容的版本 -->
  18. </dependency>

Step 3: 配置数据库连接

src/main/resources/application.propertiesapplication.yml 中配置数据库连接信息:

application.properties 示例

  1. spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
  2. spring.datasource.username=your_database_username
  3. spring.datasource.password=your_database_password
  4. mybatis.mapper-locations=classpath*:mapper/*.xml

application.yml 示例

  1. spring:
  2. datasource:
  3. url: jdbc:mysql://localhost:3306/your_database_name
  4. username: your_database_username
  5. password: your_database_password
  6. mybatis:
  7. mapper-locations: classpath*:mapper/*.xml

Step 4: 创建实体类

假设你有一个 User 表,可以创建相应的实体类:

  1. public class User {
  2. private Long id;
  3. private String name;
  4. private String email;
  5. // Getters and Setters
  6. }

Step 5: 创建 Mapper 接口和 XML 文件

UserMapper.java

  1. import org.apache.ibatis.annotations.Mapper;
  2. import org.apache.ibatis.annotations.Select;
  3. import java.util.List;
  4. @Mapper
  5. public interface UserMapper {
  6. @Select("SELECT * FROM User")
  7. List<User> findAll();
  8. }

mapper/UserMapper.xml

确保在 resources/mapper 目录下创建 XML mapper 文件(如果你想用 XML 配置)。

  1. <!DOCTYPE mapper
  2. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.example.demo.mapper.UserMapper">
  5. <select id="findAll" resultType="com.example.demo.entity.User">
  6. SELECT * FROM User
  7. </select>
  8. </mapper>

Step 6: 创建 Service 和 Controller

实现业务逻辑并设置 REST 控制器来调用数据访问层。

UserService.java

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.stereotype.Service;
  3. import java.util.List;
  4. @Service
  5. public class UserService {
  6. @Autowired
  7. private UserMapper userMapper;
  8. public List<User> getUsers() {
  9. return userMapper.findAll();
  10. }
  11. }

UserController.java

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. import java.util.List;
  5. @RestController
  6. public class UserController {
  7. @Autowired
  8. private UserService userService;
  9. @GetMapping("/users")
  10. public List<User> getUsers() {
  11. return userService.getUsers();
  12. }
  13. }

Step 7: 运行应用程序

使用 Spring Bootmain 方法启动应用程序。确保你的 MySQL 数据库正在运行并且与你的配置相匹配。

通过访问 http://localhost:8080/users,你应该能够看到用户列表的 JSON 响应。

通过这些步骤,你已成功集成 Spring Boot 和 MyBatis,实现了一个基本的数据访问流程。进一步的功能如事务管理和更复杂的查询构建,可以根据需要增加和配置。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
雁过留香 关注 已关注

最近一次登录:2024-11-20 13:15:38   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图