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.propertiesapplication.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.propertiesapplication.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实现单表增删改查操作 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作(推荐)

    汇编语言 XOR 指令 1. XOR 指令简介 XOR(exclusive or)指令是一种按位异或指令,用于对两个操作数进行逻辑(按位)异或操作。XOR 操作的结果是对两个操作数的每一位进行异或运算,若两个操作数的对应位不同,则结果对应位为 1,否则对应位为 0。 在汇编语言中,XOR 指令是一种常见的逻辑操作指令,可以用于处理数据加密、位运算、数据清零、…

    Java 2023年5月26日
    00
  • springMVC配置环境实现文件上传和下载

    SpringMVC配置环境实现文件上传和下载的完整攻略 SpringMVC是一种基于Java的Web框架,它可以帮助我们快速开发Web应用程序。在SpringMVC中,我们可以使用MultipartResolver来实现文件上传,使用ResponseEntity来实现文件下载。本文将介绍如何配置SpringMVC环境,实现文件上传和下载,并提供两个示例说明。…

    Java 2023年5月17日
    00
  • java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决

    我可以为你详细讲解“java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决”的完整攻略。具体过程如下: 1. 问题描述 在Java枚举类中,通常会定义一个静态的 valueOf(java.lang.String) 方法,用于根据字符串值获取对应的枚举值。例如: public enum Color { RED, GREEN,…

    Java 2023年5月27日
    00
  • java springmvc乱码解决归纳整理详解

    Java Spring MVC 是一种非常流行的 Java Web 开发框架。它提供了许多特性和强大的功能,但是在处理中文文本等需要编码转换的场景中,往往会遇到乱码问题。本篇攻略将详细讲解如何解决 Java Spring MVC 中的乱码问题。 1. 请求编码解决 一般情况下,在处理 HTTP 请求时,浏览器会设置请求的编码格式。但是如果请求头中没有指定编码…

    Java 2023年5月20日
    00
  • SpringBoot整合MyBatis的代码详解

    以下是关于SpringBoot整合MyBatis的完整攻略: 1. 准备工作 建立SpringBoot项目 添加相关依赖:SpringBoot的Web、MyBatis、MySQL驱动 2. 配置数据源 在SpringBoot项目的配置文件application.properties中,添加数据源的相关配置: # 数据源配置 spring.datasource…

    Java 2023年5月19日
    00
  • maven三个常用的插件使用介绍

    下面我就为您详细讲解“Maven 三个常用的插件使用介绍”的完整攻略,包括介绍、示例和操作流程,以及实际应用案例,希望能给您带来一些帮助。 什么是 Maven 插件? Maven 插件是一些可重用的代码块,可以在 Maven 构建过程中执行特定的任务或目标。Maven 有许多插件可用,而每个插件都提供了在 Maven 构建生命周期的不同阶段执行的一些目标。 …

    Java 2023年5月20日
    00
  • 详解Spring Security中获取当前登录用户的详细信息的几种方法

    下面就来详细讲解一下Spring Security获取当前登录用户的详细信息的几种方法。 1. 使用Authentication对象获取当前登录用户信息 在Spring Security中,用户需要进行身份验证后才能访问受保护的资源。在用户访问受保护的资源时,Spring Security会将用户的认证信息存储在一个名为Authentication的对象中。…

    Java 2023年5月20日
    00
  • window系统安装jdk jre的教程图解

    下面是“Window系统安装JDK/JRE的教程图解”的完整攻略: 安装JDK/JRE 1. 下载JDK/JRE 首先,前往Oracle官网的JDK下载页面:https://www.oracle.com/java/technologies/javase-downloads.html 根据需要下载对应版本的JDK/JRE安装包,选择相应的操作系统,比如Wind…

    Java 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部