SpringBoot整合TKMyBatis实现单表增删改查操作

yizhihongxing

下面将详细讲解“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日

相关文章

  • JavaWeb项目音频资源播放实现方法详解

    JavaWeb项目音频资源播放实现方法详解 在JavaWeb项目开发中,如何实现音频资源的播放,是一个比较常见的需求。下面将介绍JavaWeb项目音频资源播放实现方法的详细攻略。 1. 前端实现 在前端页面上,我们可以通过HTML5的audio标签来实现音频资源的播放。 1.1 页面结构 <!doctype html> <html lang…

    Java 2023年6月15日
    00
  • java 定义长度为0的数组/空数组案例

    一、什么是空数组 空数组指的是数组对象中没有存储元素的情况,即数组的长度为0,主要应用于数组初始化时需要定义长度但并不需要实际存储元素的场景。 二、如何定义长度为0的数组 在Java中,我们可以使用两种方式来定义一个长度为0的数组: 1.使用new方式定义长度为0的数组 // 定义长度为0的int类型数组 int[] array1 = new int[0];…

    Java 2023年5月26日
    00
  • SpringMVC响应处理详细解读

    SpringMVC响应处理详细解读 概述 SpringMVC是一个非常流行的MVC框架,它的出现极大地简化了Java Web应用的开发过程。其中,响应处理是SpringMVC的核心功能之一。本文将详细解读SpringMVC中响应处理的过程。 响应处理的流程 SpringMVC的响应处理过程分为以下几个阶段: Controller方法的返回值处理 视图成功渲染…

    Java 2023年5月16日
    00
  • jquery popupDialog 使用 加载jsp页面的方法

    下面是使用jquery popupDialog加载jsp页面的完整攻略步骤: 步骤一:引入jQuery popupDialog插件库 首先需要在html页面中引入jquery popupDialog插件库,这里可以使用CDN方式或下载本地文件。 <!– 引入jquery库 –> <script src="https://cdn…

    Java 2023年6月15日
    00
  • Spring Boot 整合 Fisco Bcos的案例分析(区块链)

    下面是 “Spring Boot 整合 Fisco Bcos的案例分析(区块链)” 的完整攻略。 什么是 Fisco Bcos Fisco Bcos 是由中国金融专家打造的一个区块链平台,具有高可用性、高扩展性和高安全性。 Spring Boot 整合 Fisco Bcos 步骤一:在本地安装 Fisco Bcos 在本地安装 Fisco Bcos,详细步骤…

    Java 2023年5月19日
    00
  • Java中的LinkedList是什么?

    Java中的LinkedList是一种双向链表,它是Java集合框架中提供的一种List接口的实现类。LinkedList提供了许多方便的方法来操作其元素,如添加、删除、查找、遍历等。下面将详细介绍LinkedList的用法。 LinkedList的基本特点 在Java的LinkedList中,每个节点都包含前一个节点、当前节点和后一个节点的引用,因此它支持…

    Java 2023年4月27日
    00
  • 一文带你了解Java万物之基之Object类

    一文带你了解Java万物之基之Object类 Java语言中的每个类都是继承自基类Object,因此Object类是所有类的父类。这篇文章将会介绍Object类的常用方法和示例说明。 常用方法 equals Object类的equals方法用于比较两个对象是否相等。Object类的equals方法使用的是比较对象的地址值,即两个对象的地址是否相同,若相同则返…

    Java 2023年5月26日
    00
  • Java spring的三种注入方式详解流程

    Java Spring的三种注入方式详解流程 在Java Spring中,有三种常用的依赖注入方式:构造函数注入、Setter方法注入以及字段注入。下面将分别给出这三种方式的详细讲解流程。 构造函数注入 步骤一:定义一个接口 首先,我们需要定义一个接口。这个接口将会被一个实现类所实现。在这个接口中,我们可以定义一些方法,让实现类去具体实现这些方法。 publ…

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