Spring boot整合mybatis实现过程图解

首先我们来讲解一下Spring Boot整合Mybatis的基本过程和步骤:

1. 引入相关依赖

首先我们需要在我们的pom.xml文件中引入以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId> <!-- web组件 -->
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId> <!-- jdbc组件 -->
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId> <!-- mybatis组件 -->
    <version>2.1.1</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId> <!-- 数据库驱动 -->
    <version>8.0.22</version>
</dependency>

2. 配置数据源

我们需要在application.propertiesapplication.yml文件中配置我们的数据源信息,比如:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456

3. 配置Mybatis

我们需要在application.propertiesapplication.yml文件中添加以下配置:

mybatis.mapper-locations=classpath*:mapper/*.xml

其中,classpath*:mapper/*.xml表示我们的Mapper映射文件存放的位置。

4. 编写Mapper接口

我们需要在我们的项目中编写对应的Mapper接口,比如:

@Mapper
public interface UserMapper {
    List<User> findAll();
    User findById(Long id);
    void save(User user);
    void update(User user);
    void deleteById(Long id);
}

5. 编写Mapper映射文件

我们需要在classpath*:mapper/*.xml指定的文件位置下编写对应的Mapper映射文件,比如:

<mapper namespace="com.example.mapper.UserMapper">
    <select id="findAll" resultType="com.example.pojo.User">
        select * from user
    </select>

    <select id="findById" parameterType="java.lang.Long" resultType="com.example.pojo.User">
        select * from user where id = #{id}
    </select>

    <insert id="save" parameterType="com.example.pojo.User">
        insert into user(name, age, sex) values(#{name}, #{age}, #{sex})
    </insert>

    <update id="update" parameterType="com.example.pojo.User">
        update user set name = #{name}, age = #{age}, sex = #{sex} where id = #{id}
    </update>

    <delete id="deleteById" parameterType="java.lang.Long">
        delete from user where id = #{id}
    </delete>
</mapper>

6. 调用Mapper接口

我们可以在我们的Controller中调用Mapper接口,比如:

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

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

    @GetMapping("/user/{id}")
    public User findById(@PathVariable("id") Long id) {
        return userMapper.findById(id);
    }

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

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

    @DeleteMapping("/user/{id}")
    public void deleteById(@PathVariable("id") Long id) {
        userMapper.deleteById(id);
    }
}

以上就是整合Spring Boot和Mybatis的基本过程和步骤。

下面我们再来看两个示例:

示例一:整合Spring Boot和Mybatis查询数据库

假设我们有一个user表,其中包含三个字段:idnameagesex,现在我们要查询所有的用户并返回JSON格式。

首先,我们需要在application.propertiesapplication.yml文件中添加以下配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
mybatis.mapper-locations=classpath*:mapper/*.xml

接着,我们需要在我们的项目中编写对应的Mapper接口和Mapper映射文件,具体信息请看前面。

最后,我们需要编写对应的Controller,比如:

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

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

当我们访问http://localhost:8080/users时,就可以查询到所有的用户并以JSON格式返回。

示例二:整合Spring Boot和Mybatis保存数据到数据库

假设我们要保存一个用户到我们的user表中,其中包含三个字段:nameagesex

首先,我们需要在application.propertiesapplication.yml文件中添加以下配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
mybatis.mapper-locations=classpath*:mapper/*.xml

接着,我们需要在我们的项目中编写对应的Mapper接口和Mapper映射文件,具体信息请看前面。

最后,我们需要编写对应的Controller,比如:

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

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

当我们向http://localhost:8080/user POST 一个包含nameagesex字段的JSON数据时,就可以将数据保存到我们的数据库中。

以上就是示例一和示例二的完整代码和演示过程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring boot整合mybatis实现过程图解 - Python技术站

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

相关文章

  • Java中StringUtils与CollectionUtils和ObjectUtil概念讲解

    Java中StringUtils、CollectionUtils和ObjectUtil概念讲解 StringUtils StringUtils是一款开源的Java字符串工具类,它提供了很多常用的字符串操作方法,可以方便地对字符串进行处理和操作。常用的方法有: isBlank() isBlank用来检测字符串是否为空或者全由空格组成。示例代码如下: Strin…

    Java 2023年5月26日
    00
  • java实现统计字符串中字符及子字符串个数的方法示例

    Java实现统计字符串中字符及子字符串个数的方法示例 介绍 在Java中,我们经常需要对字符串进行统计,例如统计一个字符串中字符出现的个数或者子字符串出现的次数。本文将介绍一些基础的Java实现方法,可用于解决该问题。 统计字符串中字符出现的个数 对于字符串中字符出现的次数,主要有以下两种实现方法: 方法一:使用Map统计 可以通过Map来统计一个字符串中字…

    Java 2023年5月27日
    00
  • JavaWeb Struts文件上传功能实现详解

    JavaWeb Struts文件上传功能实现详解 简介 本文将详细讲解如何在 JavaWeb Struts 框架中实现文件上传功能,其中包括前端页面的设计和后端逻辑的实现。 设计前端页面 前端页面是实现文件上传功能的基础。在这里,我们将使用HTML和JavaScript来设计一个简单的上传页面。 示例一:HTML 代码 <!DOCTYPE html&g…

    Java 2023年5月20日
    00
  • JavaScript DOM实现简单留言板

    下面是“JavaScript DOM实现简单留言板”的完整攻略。 一、准备工作 1.1 创建HTML文件 首先,我们要创建一个HTML文件,命名为“index.html”。在这个文件里编写HTML结构,用于显示留言板的相关内容。 <!DOCTYPE html> <html> <head> <meta charset=…

    Java 2023年6月15日
    00
  • Java实现世界上最快的排序算法Timsort的示例代码

    下面就针对 “Java实现世界上最快的排序算法Timsort的示例代码” 进行详细讲解。 1. Timsort排序算法简介 Timsort是一种优化的归并排序算法,最初由Tim Peters在2002年设计并实现,它结合了插入排序与归并排序,以达到在不同长度的输入数据上执行最快的速度。Timsort最明显的特点是,它可以在O(n log n)的时间内完成大部…

    Java 2023年5月19日
    00
  • mybatis and,or复合查询操作

    下面是关于 Mybatis 中 AND 和 OR 复合查询操作的完整攻略。 基础知识 在 Mybatis 中,我们可以使用 <where> 元素来构造复杂的条件语句,其中包含了 AND 和 OR 连接符。如下所示: <select id="selectByExample" resultMap="BaseResu…

    Java 2023年5月20日
    00
  • 实例讲解JSP Model2体系结构(中)

    下面我来详细讲解“实例讲解JSP Model2体系结构(中)”的完整攻略。 前言 在使用JSP开发Web项目时,选择合适的体系结构可以大大提高代码的可维护性和重用性。其中JSP Model2体系结构是一种较为流行的结构。 什么是JSP Model2体系结构? JSP Model2体系结构,简称MVC,是一种将业务逻辑、数据、界面分别封装的设计模式。其核心思想…

    Java 2023年6月15日
    00
  • Java解析使用JSON的多种方法

    以下是详细讲解“Java解析使用JSON的多种方法”的完整攻略: 什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON格式的数据通常用于异步浏览器/服务器数据交换。 JSON格式的数据由键值对组成,类似于JavaScript中的对象(对象是由编号的…

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