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日

相关文章

  • 详解从0开始搭建微信小程序(前后端)的全过程

    下面我将详细讲解如何从0开始搭建微信小程序的全过程,包括前后端的搭建。本篇攻略分为以下几个部分: 准备工作 搭建后端 搭建前端 示例说明 总结 一、准备工作 在开始之前,你需要安装以下几个软件: Node.js:用于编写后端代码和运行前端开发工具 MySQL:用于存储后端数据 微信开发者工具:用于编写和运行小程序前端代码 在安装完成后,你需要创建一个新的小程…

    Java 2023年5月23日
    00
  • Java多线程Callable接口实现代码示例

    下面是Java多线程Callable接口实现的完整攻略步骤: 1.什么是Callable接口 Callable和Runnable类似,都是用来创建线程的接口,但是Callable的call()方法有返回值,并且可以抛出异常。 public interface Callable<V> { V call() throws Exception; } 2…

    Java 2023年5月19日
    00
  • Java连接MySQL8.0 JDBC的详细步骤(IDEA版本)

    下面是使用IDEA连接MySQL8.0的详细步骤: 准备工作 安装MySQL 8.0 下载并安装Java 8或以上版本 下载MySQL的Java connector驱动程序(mysql-connector-java-{version}-bin.jar) 配置项目 在IDEA中创建一个新项目 在项目结构中添加MySQL connector驱动程序 在IDEA中…

    Java 2023年5月19日
    00
  • Java的Struts框架中的主题模板和国际化设置

    Java的Struts框架中的主题模板和国际化设置提供了一套全局约束的方式来统一管理Web应用的界面样式和用户语言环境,本文将为您提供完整的攻略,包括如何设置和使用主题模板和国际化设置。 设置主题模板 在Struts框架中,使用主题模板可以方便地统一管理Web应用的界面样式,通过以下步骤可以设置主题模板: 1. 在struts.xml中进行配置 在strut…

    Java 2023年5月20日
    00
  • 使用maven打包生成doc文档和打包源码

    使用maven打包生成doc文档和打包源码的完整攻略如下: 一、生成文档 添加maven插件:在pom.xml文件中,添加以下插件: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifact…

    Java 2023年5月19日
    00
  • 利用Java代码实现区块链技术

    利用Java代码实现区块链技术的攻略 什么是区块链? 区块链是一种去中心化的分布式数据库技术,它以区块为基本单位,每个区块包含了一些交易数据和前一个区块的哈希值。 实现区块链的基本原理 实现区块链至少要考虑以下几个方面: 加密方法 区块结构 工作量证明 网络通信 加密方法 区块链技术中,加密方法包括了哈希算法和公钥加密算法。其中,哈希算法是对区块数据的摘要算…

    Java 2023年5月19日
    00
  • java蓝桥杯历年真题及答案整理(小结)

    Java蓝桥杯历年真题及答案整理(小结) 背景介绍 蓝桥杯是全国IT类人才的比赛,旨在推动计算机教育和学科建设。Java蓝桥杯比赛是Java Web实战开发类比赛,也是企业求职的一个重要参考。Java蓝桥杯真题是Java Web编程重要的素材之一,通过练习历年真题可以提升Java编程能力。 整理方式 为了让广大Java编程爱好者高效学习,我们整理了Java蓝…

    Java 2023年5月23日
    00
  • 基于Mybatis的配置文件入门必看篇

    下面我将详细讲解“基于Mybatis的配置文件入门必看篇”的完整攻略。 前言 MyBatis是一款优秀的持久层框架,它对JDBC做了很好的封装,使得开发者可以只关注SQL本身,而不需要花费精力去处理JDBC带来的诸多问题。MyBatis通过SqlSession对象直接与数据库进行交互。而SqlSessionFactoryBuilder和SqlSessionF…

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