springboot快速整合Mybatis组件的方法(推荐)

下面是关于springboot快速整合Mybatis组件的方法的攻略,包括以下几个步骤:

1.基础环境搭建

首先,我们应该新建一个SpringBoot工程,选择maven进行构建。我们需要在pom.xml文件中添加Mybatis和Mybatis-spring-boot-starter依赖项。核心代码如下:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>   <!-- Mybatis 核心依赖 -->
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>

2.数据源配置

接下来,我们需要配置数据源,在application.properties中添加如下配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456

3.Mapper接口文件加入扫描

我们需要在我们的src/main/java目录下新建一个包,名字可以任意,比如com.example.demo.dao。我们把Mapper接口文件放到这个包里,并在我们的SpringBoot工程的启动类上加上@MapperScan注解,告诉系统扫描这个包下所有Mapper接口文件。

@SpringBootApplication
@MapperScan("com.example.demo.dao")
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

4.创建Mapper接口

我们现在需要创建了Mapper接口,比如UserMapper接口,该接口应该添加@Mapper注解,用于让Mybatis自动扫描该接口并生成实现类。

@Mapper
public interface UserMapper {

    List<User> findAllUser();

    int addUser(User user);

    int deleteUserById(Integer id);

    int updateUser(User user);

    User findUserById(Integer id);

}

5.创建Mapper.xml文件

现在我们需要编写Mapper.xml文件,我们把Mapper.xml文件放在我们工程的resources/mapper目录下。如下是一个示例的UserMapper.xml文件。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserMapper">

    <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="age" property="age" />
        <result column="address" property="address" />
    </resultMap>

    <select id="findAllUser" resultMap="BaseResultMap">
        SELECT * FROM user;
    </select>

    <insert id="addUser">
        INSERT INTO user(name, age, address)
        VALUES(#{name}, #{age}, #{address});
    </insert>

    <delete id="deleteUserById">
        DELETE FROM user WHERE id = #{id};
    </delete>

    <update id="updateUser">
        UPDATE user SET name = #{name}, age = #{age}, address = #{address}
        WHERE id = #{id};
    </update>

    <select id="findUserById" resultMap="BaseResultMap">
        SELECT * FROM user WHERE id = #{id};
    </select>

</mapper>

然后我们在UserMapper接口中定义方法,该方法名称应该与Mapper.xml文件中定义的SQL语句ID相对应。

6.测试

我们已经完成了所需的所有工作,现在可以使用SpringBoot的自动配置和注解,方便快捷地使用Mybatis。创建一个Controller,进行查询。

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

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

}

这样,我们的第一个springboot整合Mybatis的简单示例就完成了。

下面是另一个示例——插入一条数据:

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @PostMapping("/user")
    public String addUser(@RequestBody User user) {
        int i = userMapper.addUser(user);
        if (i == 1) {
            return "add user success";
        }
        return "add user fail";
    }

}

以此类推,我们可以声明更多的Mapper接口,调用更多的SQL语句。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot快速整合Mybatis组件的方法(推荐) - Python技术站

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

相关文章

  • java基于C/S模式实现聊天程序(服务器)

    接下来我将为您详细讲解如何基于C/S模式实现Java聊天程序(服务器端)的攻略。以下是具体步骤: 1. 了解C/S模式的概念和原理 在C/S(Client/Server)模式下,客户端和服务器通过网络互相通信。客户端向服务器发出请求,服务器则将请求的结果发送回客户端。在聊天程序中,服务器端主要负责接收客户端发送的信息,处理并转发给其他在线的客户端。 2. 编…

    Java 2023年5月23日
    00
  • Springboot2.x 使用 Log4j2 异步打印日志的实现

    下面是详细的攻略: 准备工作 首先,我们需要在Spring Boot项目中引入log4j2和log4j2-async两个依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log…

    Java 2023年5月26日
    00
  • PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创

    PHP实现字节数Byte转换为KB、MB、GB、TB的方法 在开发PHP程序时,我们经常需要对文件大小进行处理,通常情况下我们会使用字节数来表示文件大小,但有时我们需要将字节数转换成更容易理解的单位,比如 KB、MB、GB、TB等。 下面是PHP实现字节数Byte转换为KB、MB、GB、TB的方法: 方法一:自定义函数 function formatSize…

    Java 2023年5月26日
    00
  • Mybatis入门教程之新增、更新、删除功能

    下面是针对“Mybatis入门教程之新增、更新、删除功能”的详细攻略。 1. 简介 Mybatis是一款优秀的持久层框架,它对JDBC进行了很好的封装,简化了JDBC的操作流程,使得我们可以更方便的操作数据库。其中,新增、更新和删除等功能是常见的操作,也是我们使用Mybatis进行开发时必须掌握的内容。 2. 新增功能 新增功能可以通过Mybatis提供的i…

    Java 2023年5月20日
    00
  • jsp中调用java代码小结

    下面我会给出一个完整的“jsp中调用java代码”的攻略,分为以下几个步骤: 一、创建Java类及方法在Java中创建一个类,并在其中定义一个或多个方法,以便供JSP调用。类及方法应当按照Java语法规范编写,并尽量遵循业内最佳实践的要求。 二、打包Java类为jar包将Java类打包成jar包,然后将jar包放置到WEB-INF/lib目录下。这样JSP页…

    Java 2023年5月23日
    00
  • java结合HADOOP集群文件上传下载

    Java结合Hadoop集群文件上传下载的攻略如下: 1. 确认Hadoop集群状态 在开始上传或下载文件之前,为了确保集群状态正常,需要使用以下命令检查Hadoop集群是否处于正常状态: hadoop fs -ls / 如果出现Hadoop根目录的内容列表,则表示集群状态正常。 2. 文件上传 方式一:利用Hadoop API上传文件 Java代码示例如下…

    Java 2023年5月31日
    00
  • Spring Security基于数据库实现认证过程解析

    下面我将为您讲解Spring Security基于数据库实现认证过程的详细攻略,包含以下几个方面: 理解Spring Security的基本概念 使用Spring Security的主要步骤和流程 基于数据库实现Spring Security的认证过程 1. 理解Spring Security的基本概念 Spring Security是一个被广泛使用的Jav…

    Java 2023年5月20日
    00
  • Java Springboot整合支付宝接口的教程详解

    Java Springboot整合支付宝接口的教程详解 介绍: Java Springboot是当前广泛使用的Java开发框架之一,兼容了Spring框架的优势并整合了大量解决方案,易用易扩展,本文将详细讲解如何在Java Springboot应用中整合支付宝接口。 准备工作: 1. 开通支付宝开放平台账号: 首先访问 支付宝开放平台官方网站,进行开发者注册…

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