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日

相关文章

  • Java8之Lambda表达式使用解读

    Java8之Lambda表达式使用解读 什么是Lambda表达式? Lambda表达式是一种匿名函数,它没有名称,但它有参数列表、函数体和可能存在的返回类型,可以在需要函数类型的上下文中使用。 举个例子,我们可以使用Lambda表达式来实现简化的Runnable接口: Runnable r = () -> System.out.println(&quo…

    Java 2023年5月26日
    00
  • Jar打包用法详解

    Jar打包用法详解 Jar是Java Archive的缩写,是一种用于打包Java类的标准格式。在Java开发中,经常需要将多个Java类打包成一个Jar文件,方便程序部署和传输。本文将详细介绍Jar打包的用法及示例。 基本用法 使用Jar命令行工具可以轻松地将多个Java类文件打包成一个Jar文件。下面是基本的用法: jar cf jarfile [-C …

    Java 2023年5月19日
    00
  • 解决mybatis-plus自动配置的mapper.xml与java接口映射问题

    针对“解决mybatis-plus自动配置的mapper.xml与java接口映射问题”,我给出以下完整攻略,主要分为两个部分: 1. 配置XML文件路径 mybatis-plus默认情况下会在classpath:/mapper/下寻找对应的mapper.xml文件,因此需要确保xml文件路径正确。 可以使用如下方式在application.yml或appl…

    Java 2023年5月20日
    00
  • Spring如何使用PropertyPlaceholderConfigurer读取文件

    下面是“Spring如何使用PropertyPlaceholderConfigurer读取文件”的完整攻略: PropertyPlaceholderConfigurer简介 在Spring框架中,PropertyPlaceholderConfigurer是常用于读取属性文件(如.properties文件)并进行动态注入的类。我们可以通过该类来替换配置文件中的…

    Java 2023年5月20日
    00
  • 什么是类加载机制?

    以下是关于类加载机制的详细讲解: 什么是类加载机制? 类加载机制是 Java 虚拟机(JVM)在运行时将类的字节码加载到内存,并转换 Java 类的过程。加载机制是 Java 语言的核心机制之一,它负责将类的字节码加载到内存中,并在运行时动态和初始化类。 类加载机制包括以下三个步骤: 加载:将类的字节码加载到内存中。 链接将类的二进制数据合并到 Java 运…

    Java 2023年5月12日
    00
  • jquery easyui 结合jsp简单展现table数据示例

    下面详细讲解“jquery easyui 结合jsp简单展现table数据示例”的完整攻略。 什么是 jQuery EasyUI? jQuery EasyUI 是一个基于 jQuery 的 UI 插件集合,它包含了一些常用的 UI 组件,如:datagrid、tree、panel、window 等,使 Web 开发更加简单和快速。 使用 jQuery Eas…

    Java 2023年6月15日
    00
  • springboot集成mybatis官方生成器

    下面我会详细讲解“Spring Boot 集成 MyBatis 官方生成器”的完整攻略。 简介 在使用 MyBatis 进行开发时,为了提高开发效率、减少重复的代码编写,可以使用 MyBatis 官方生成器。而 Spring Boot 是一种优秀的 Java Web 开发框架,本文将会介绍如何在 Spring Boot 框架中集成 MyBatis 官方生成器…

    Java 2023年5月20日
    00
  • JAVA版排序算法之快速排序示例

    下面我将详细讲解“JAVA版排序算法之快速排序示例”的完整攻略,帮助您更好地理解快速排序算法。 一、前置知识 在学习快速排序算法之前,您需要掌握以下知识: 数组的定义和基本操作 递归的概念和用法 时间复杂度和空间复杂度的概念 二、快速排序算法介绍 快速排序(Quick Sort)是一种基于比较的排序算法,通过分治的思想将待排序数据分割成独立的两部分,其中一部…

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