目录
Spring Boot 整合 MyBatis 是一个相对直接的过程,主要涉及添加依赖、配置数据源、配置 MyBatis、创建实体类、Mapper 接口和映射文件、以及编写服务层来实现增删改查功能。
下面将一步步指导完成整个集成过程。
1. 添加依赖
在 pom.xml
文件中添加 Spring Boot Starter for MyBatis 的依赖,以及数据库驱动依赖(这里以 MySQL 为例):
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Starter Data JPA (For Database Connectivity, but we use MyBatis) -->
<!-- 注意:此处添加JPA是为了演示Spring Boot的数据源配置,实际使用MyBatis时可以不加 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MyBatis Spring Boot Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version> <!-- 请检查最新版本 -->
</dependency>
<!-- MySQL Driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
2. 配置数据源和MyBatis
在 application.properties
或 application.yml
中配置数据库连接信息和MyBatis的相关设置:
spring.datasource.url=jdbc:mysql://localhost:3306/yourdb?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml
3. 创建实体类
假设我们有一个用户表 users
,对应的实体类 User.java
可能如下:
package com.example.demo.entity;
public class User {
private Long id;
private String name;
private String email;
// Getter and Setter methods...
}
4. Mapper 接口与映射文件
创建一个 Mapper 接口 UserMapper.java
和对应的 XML 映射文件 UserMapper.xml
。
UserMapper.java
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
User findById(Long id);
void insertUser(User user);
void updateUser(User user);
void deleteUser(Long id);
}
UserMapper.xml (位于 resources/mapper
目录下)
<?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">
<resultMap id="UserResultMap" type="com.example.demo.entity.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="email" column="email"/>
</resultMap>
<select id="findById" resultMap="UserResultMap">
SELECT * FROM users WHERE id = #{id}
</select>
<insert id="insertUser">
INSERT INTO users(name, email) VALUES(#{name}, #{email})
</insert>
<update id="updateUser">
UPDATE users SET name=#{name}, email=#{email} WHERE id=#{id}
</update>
<delete id="deleteUser">
DELETE FROM users WHERE id=#{id}
</delete>
</mapper>
5. 编写服务层
创建一个 UserService 类来调用 Mapper 接口实现增删改查操作。
package com.example.demo.service;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User findById(Long id) {
return userMapper.findById(id);
}
public void insertUser(User user) {
userMapper.insertUser(user);
}
public void updateUser(User user) {
userMapper.updateUser(user);
}
public void deleteUser(Long id) {
userMapper.deleteUser(id);
}
}
6. 控制器
最后,创建一个 UserController 来处理 HTTP 请求,调用 UserService 完成业务逻辑。
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping
public void addUser(@RequestBody User user) {
userService.insertUser(user);
}
@PutMapping
public void updateUser(@RequestBody User user) {
userService.updateUser(user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
至此,Spring Boot 整合 MyBatis 实现基本的增删改查功能就完成了。
你可以启动应用并使用 Postman 或类似工具测试这些 API。
记得先确保你的数据库连接信息正确,并且已创建相应的表结构。
标签:SpringBoot,改查,id,User,Mybatis,import,com,public,user From: https://blog.csdn.net/qq_35759769/article/details/139314628