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日

相关文章

  • Spring Boot中的SpringSecurity基础教程

    既然您需要我提供Spring Boot中的Spring Security基础教程的完整攻略,我将在下文中提供该攻略的细节。 Spring Security基础 Spring Security是一个针对Spring应用程序的安全框架,可以提供强大的、全面的安全保护。它最初是Acegi Security在2004年创建的,已经成为保护企业级Java应用程序的事实…

    Java 2023年5月20日
    00
  • 一文理解kafka rebalance负载均衡

    一文理解Kafka Rebalance负载均衡 在Kafka中,消费者组(Consumer Group)中的多个消费者(Consumer)会协同消费一个或多个Topic的分区(Partition)。消费者组通过Partition的分配策略来确定每个消费者负责消费哪些分区。当新的消费者加入或退出消费者组时,需要重新进行分区分配,这个过程被称为Rebalance…

    Java 2023年5月20日
    00
  • java中fastjson生成和解析json数据(序列化和反序列化数据)

    Java 中 FastJson 是一款高效的 JSON 解析库,可以将 Java 对象转换为 JSON 对象,同时也可以将 JSON 对象转换为 Java 对象,从而方便在 Java 应用程序中进行 JSON 数据的序列化(将 Java 对象转换为 JSON对象)和反序列化(将 JSON 对象转换为 Java 对象)。 下面我们通过两个示例具体说明 Fast…

    Java 2023年5月26日
    00
  • SpringSecurity实现动态加载权限信息的方法

    实现动态加载权限信息的方法是Spring Security中非常重要的一部分,可以根据用户的动态信息进行精确的授权管理。下面是详细的实现攻略。 1. 编写权限信息源的代码 Spring Security中支持自定义的权限信息源,我们需要实现 org.springframework.security.access.vote.RoleVoter 接口并提供动态的…

    Java 2023年5月20日
    00
  • 微信小程序以ssm做后台开发的实现示例

    下面我将详细讲解如何使用ssm框架进行微信小程序后台开发的实现示例。 一、什么是SSM框架 SSM框架实际上是Spring、SpringMVC和MyBatis三个框架的结合,可以高效稳定地进行Java Web开发。其中,Spring是用于控制Bean的,SpringMVC是用于控制请求的,MyBatis是用于控制数据的。部署方便,使用简单,很适合中小型互联网…

    Java 2023年5月23日
    00
  • 解决idea2020.1找不到程序包和符号的问题

    问题背景: 在使用IntelliJ IDEA 2020.1时,有时会遇到找不到程序包和符号的问题。这个问题可能是由于项目依赖导致的,也可能是由于代码中的语法错误导致的。 解决方案: 检查项目依赖 首先,需要检查项目的依赖是否正确。在项目的pom.xml文件(Maven项目)或build.gradle文件(Gradle项目)中查看所依赖的库是否正确且版本是否匹…

    Java 2023年5月20日
    00
  • spring boot starter actuator(健康监控)配置和使用教程

    Spring Boot Starter Actuator配置和使用教程 Spring Boot Starter Actuator是Spring Boot提供的一个用于监控和管理应用程序的模块。它提供了许多有用的端点,例如/health、/info、/metrics等,可以帮助我们监控应用程序的健康状况、性能指标等。在本文中,我们将详细讲解Spring Boo…

    Java 2023年5月15日
    00
  • Java计算代码段执行时间的详细过程

    计算代码段执行时间在Java中非常常见,我们可以通过多种方式来实现。下面我将向您详细介绍如何使用Java代码计算代码段执行时间的完整攻略: 步骤一:编写需要计算时间的代码段 首先,我们需要编写需要计算时间的代码段。作为例子,我们假设我们需要计算一个数组排序的时间。这是我们的代码段示例: import java.util.Arrays; public clas…

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