springboot 2.x整合mybatis实现增删查和批量处理方式

下面是“springboot 2.x整合mybatis实现增删查和批量处理方式”的完整攻略。

准备工作

在开始整合之前,需要确保已经添加了Spring Boot和MyBatis的依赖。

先来看一下pom.xml文件:

<dependencies>
    <!--Spring Boot相关依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- MySQL相关依赖 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

配置数据源

在application.properties文件中添加MySQL连接信息:

# 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MySQL连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root

配置MyBatis

在Spring Boot中,MyBatis的自动配置非常方便。只需要在配置文件中设置MyBatis的Mapper接口扫描路径即可。

@MapperScan("com.example.demo.mapper")
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

编写Mapper接口

@Mapper
public interface UserMapper {
    @Select("select * from user")
    List<User> getAllUsers();

    @Select("select * from user where id = #{id}")
    User getUserById(int id);

    @Insert("insert into user(name, age) values(#{name}, #{age})")
    void addUser(User user);

    @Update("update user set name = #{name}, age = #{age} where id = #{id}")
    void updateUser(User user);

    @Delete("delete from user where id = #{id}")
    void deleteUserById(int id);

    @Insert({
            "<script>"
                    + "insert into user(name, age) values "
                    + "<foreach collection='users' item='user' separator=','>"
                    + "(#{user.name}, #{user.age})"
                    + "</foreach>"
                    + "</script>"
    })
    void addUsers(@Param("users") List<User> users);
}

使用Mapper接口

在Controller中注入UserMapper接口并使用。

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;

    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable("id") int id) {
        return userMapper.getUserById(id);
    }

    @PostMapping("/users")
    public void addUser(@RequestBody User user) {
        userMapper.addUser(user);
    }

    @PutMapping("/users")
    public void updateUser(@RequestBody User user) {
        userMapper.updateUser(user);
    }

    @DeleteMapping("/users/{id}")
    public void deleteUserById(@PathVariable("id") int id) {
        userMapper.deleteUserById(id);
    }

    @PostMapping("/users/batch")
    public void addUsers(@RequestBody List<User> users) {
        userMapper.addUsers(users);
    }
}

这里我提供两个示例,分别是单个对象的增删改查和批量添加对象。

示例1:使用POST请求添加一个用户

请求地址:http://localhost:8080/users

请求参数:

{
    "name":"Tom",
    "age":20
}

示例2:使用POST请求批量添加多个用户

请求地址:http://localhost:8080/users/batch

请求参数:

[
    {
        "name":"Tom",
        "age":20
    },
    {
        "name":"Jerry",
        "age":22
    },
    {
        "name":"Peter",
        "age":24
    }
]

这就是完整的“Spring Boot 2.x整合MyBatis实现增删查和批量处理方式”的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 2.x整合mybatis实现增删查和批量处理方式 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • jsp传值本地无乱码测试机出现乱码问题解决

    下面我将详细讲解“jsp传值本地无乱码测试机出现乱码问题解决”的完整攻略。 一、问题描述 当我们在本地运行jsp页面传输值,并将页面上传至测试机运行时,有时会出现中文乱码的问题。这是因为本地和测试机的编码不一致所造成的。 二、解决方法 配置jsp页面编码方式 在jsp页面中,加入以下代码进行页面编码的设置。以UTF-8编码方式为例: <%@ page …

    Java 2023年6月15日
    00
  • Storm框架整合springboot的方法

    下面是详细的Storm框架整合Spring Boot的方法: 1. 在Spring Boot项目中添加Storm依赖 首先需要在Spring Boot项目的pom.xml中添加Storm的依赖。在<dependencies>标签内添加以下内容: <dependency> <groupId>org.apache.storm&…

    Java 2023年5月15日
    00
  • JAVA基础之控制台输入输出的实例代码

    JAVA基础之控制台输入输出的实例代码 本文将介绍JAVA语言中,如何利用控制台进行输入输出操作。首先需要理解Java标准I/O流的概念,Java的I/O流分为两种:字节流和字符流。字节流以字节为单位进行操作,字符流以字符为单位进行操作。在控制台输入输出中,一般使用字符流,使用InputStreamReader和OutputStreamWriter将字节流转…

    Java 2023年5月30日
    00
  • java和js实现的洗牌小程序

    洗牌算法简介 洗牌算法即可将一个包含n个元素的数组打乱,保证每个元素均匀地分布在原数组中。常用的洗牌算法有Fisher–Yates算法(也被称为Knuth-Shuffle算法),其核心思想是将数组从后往前遍历,对于未处理的元素,随机从已处理的元素中选出一个,然后与该元素交换。这样可以保证每个元素被随机地赋予新的位置。 Java实现 Java官方提供了Coll…

    Java 2023年5月23日
    00
  • java中获取json的所有key方法

    获取JSON对象中的所有Key有多种方式,下面介绍两种常用的方式: 方法一:使用Gson库解析JSON 引入Gson库 在项目中使用Maven等依赖工具引入Gson库: <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson&l…

    Java 2023年5月26日
    00
  • Java 基础之NIO 学习详解

    Java 基础之NIO 学习详解 简述 NIO,全称为“New IO”,是Java 1.4 引入的一套用于更高效的 I/O 操作的API。NIO主要包括以下三个核心组件:Channel、Buffer 和 Selector。其中,Channel 和 Buffer 主要用于底层数据传输,Selector 则用于监听 Channel 上的 IO 事件。 NIO 与…

    Java 2023年5月26日
    00
  • Struts1之url截取_动力节点Java学院整理

    以下是详细的讲解“Struts1之url截取_动力节点Java学院整理”的攻略。 简介 在Struts1中,URL截取是非常重要的特性之一。通过URL截取,我们可以将一个请求映射到合适的Action上。本文将详细介绍URL截取的相关知识。 步骤一:配置Filter 要使用URL截取功能,需要在web.xml文件中添加Filter配置。配置如下: <fi…

    Java 2023年5月20日
    00
  • Spring+Http请求+HttpClient实现传参

    下面是详细讲解“Spring+Http请求+HttpClient实现传参”的完整攻略。 一、准备工作 首先,需要在项目中引入Spring和HttpClient的相关依赖。可以在pom.xml文件中添加以下依赖: <!– Spring –> <dependency> <groupId>org.springframewor…

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