下面将详细讲解“SpringBoot整合TKMyBatis实现单表增删改查操作”的完整攻略。
下面将详细讲解“SpringBoot整合TKMyBatis实现单表增删改查操作”的完整攻略。
1. 导入依赖
首先,在项目的 pom.xml 文件中导入以下依赖:
<!-- SpringBoot Starter -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- MyBatis Starter -->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.3</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.25</version>
</dependency>
2. 配置数据源
在 application.properties 或 application.yml 文件中添加以下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3. 配置MyBatis
在 application.properties 或 application.yml 文件中添加以下配置:
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml
4. 创建实体类
创建一个用于映射数据库表的实体类,例如:
public class User {
  private Long id;
  private String name;
  private Integer age;
  // ... getters and setters
}
5. 创建Mapper接口和Mapper XML文件
创建一个继承 Mapper<T> 接口的Mapper,其中的 T 就是对应的实体类,例如:
public interface UserMapper extends Mapper<User> {
}
然后,在项目的 resources/mapper 目录下创建一个与Mapper接口同名的XML文件,例如:
<?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.entity.User">
    INSERT INTO user(name, age) VALUES(#{name}, #{age})
  </insert>
  <!-- 删除数据 -->
  <delete id="delete" parameterType="java.lang.Long">
    DELETE FROM user WHERE id=#{id}
  </delete>
  <!-- 修改数据 -->
  <update id="update" parameterType="com.example.demo.entity.User">
    UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
  </update>
  <!-- 查询数据 -->
  <select id="select" resultType="com.example.demo.entity.User">
    SELECT * FROM user WHERE id=#{id}
  </select>
</mapper>
6. 编写Service
创建一个用于调用Mapper的Service,例如:
@Service
public class UserService {
  @Autowired
  private UserMapper userMapper;
  public void insert(User user) {
    userMapper.insert(user);
  }
  public void delete(Long id) {
    userMapper.deleteByPrimaryKey(id);
  }
  public void update(User user) {
    userMapper.updateByPrimaryKey(user);
  }
  public User select(Long id) {
    return userMapper.selectByPrimaryKey(id);
  }
}
7. 编写Controller
创建一个用于处理HTTP请求的Controller,例如:
@RestController
public class UserController {
  @Autowired
  private UserService userService;
  @PostMapping("/user")
  public void insert(User user) {
    userService.insert(user);
  }
  @DeleteMapping("/user/{id}")
  public void delete(@PathVariable("id") Long id) {
    userService.delete(id);
  }
  @PutMapping("/user")
  public void update(User user) {
    userService.update(user);
  }
  @GetMapping("/user/{id}")
  public User select(@PathVariable("id") Long id) {
    return userService.select(id);
  }
}
示例1
假设我们希望添加一个新用户,可以通过以下代码实现:
User user = new User();
user.setName("Tom");
user.setAge(20);
userService.insert(user);
这会将一个名为 "Tom" 年龄为 20 的用户添加到数据库中。
示例2
假设我们希望删除一个ID为5的用户,可以通过以下代码实现:
userService.delete(5L);
这会删除ID为5的用户。
本文标题为:SpringBoot整合TKMyBatis实现单表增删改查操作
				
        
 
            
        - SpringBoot过滤器与拦截器深入分析实现方法 2023-07-01
 - java – 无法使用wget在CentOS机器上安装oracle jdk 2023-11-05
 - java – 我们可以一起选择和更新数据库吗? 2023-11-04
 - Java实现文件及文件夹的删除 2023-01-29
 - 关于List、Map、Stream初始化方式 2023-04-23
 - SpringDataElasticsearch与SpEL表达式实现ES动态索引 2023-05-14
 - Java中classpath讲解及使用方式 2023-08-11
 - Java Map接口概述和常用方法详解 2023-06-30
 - JVM学习笔记1:Java虚拟机内存模型 2023-09-01
 - SpringBoot Starter依赖原理与实例详解 2023-06-01
 
						
						
						
						
						
				
				
				
				