下面将详细讲解“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 2.5.5整合轻量级的分布式日志标记追踪神器TLog的详细过程 2023-06-17
- 用javascript制作qq注册动态页面 2023-12-16
- SpringBoot嵌入式Web容器原理与使用介绍 2023-06-17
- springboot中request和response的加解密实现代码 2022-12-08
- java 解决Eclipse挂掉问题的方法 2024-01-10
- Spring MVC数据绑定方式 2023-06-30
- 详解http请求中的Content-Type 2023-07-31
- jsp hibernate的分页代码第3/3页 2024-01-11
- JSP servlet实现文件上传下载和删除 2023-07-30
- 关于@MapperScan包扫描的坑及解决 2023-04-16
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
						 
						 
						 
						 
						 
				 
				 
				 
				