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日

相关文章

  • 部分网站允许空白referer的防盗链图片的js破解代码

    为了防止恶意网站站点盗取自己的资源,很多网站都会设置防盗链,限制只有自己网站的页面可以访问这些资源。其中一个最常用的防盗链方式是检测请求的referer字段,如果不符合条件则拒绝访问。referer字段记录了当前请求来源的URL地址,一般情况下只有在通过链接点击进入目标页面时referer才会非空。 而某些网站会允许访问者通过空referer字段访问一些资源…

    Java 2023年6月15日
    00
  • java整数(秒数)转换为时分秒格式的示例

    让我来详细讲解一下如何将 Java 中的整数(秒数)转换为时分秒格式。 思路分析 将秒数转换为时分秒格式,其实就是将秒数拆分为小时、分钟、秒三个部分,然后格式化输出。可以使用 Java 中的数学运算和字符串格式化实现。 具体操作如下: 计算出总秒数中包含的小时数、分钟数和秒数; 使用字符串格式化输出结果。 代码实现 下面是整数(秒数)转换为时分秒格式的示例代…

    Java 2023年5月20日
    00
  • Java实战之酒店人事管理系统的实现

    Java实战之酒店人事管理系统的实现 介绍 本篇攻略将详细介绍如何使用Java语言实现一个酒店人事管理系统。该系统主要功能包括员工信息的录入、查询、修改和删除,以及工资和考勤等数据的统计。开发该系统需要掌握Java语言、MySQL数据库和Java GUI编程等技术。 准备工作 在开始开发之前,需要完成以下准备工作: 安装JDK和Eclipse IDE。 安装…

    Java 2023年6月16日
    00
  • java实现Composite组合模式的实例代码

    下面我将为你讲解Java实现Composite组合模式的实例代码完整攻略。在完成该过程前,我先将Composite组合模式的一些基本概念进行简单介绍。 Composite组合模式是一种结构化设计模式,用于将对象组合成树状结构,以表示“部分-整体”的层次关系。该模式使得客户端能够使用统一的接口处理单个对象以及对象组合,从而将单个对象与组合对象视为等同的对象。 …

    Java 2023年5月19日
    00
  • Struts2 $,#,%详解及实例代码

    Struts2 $,#,% 详解及实例代码 引言 在处理 Struts2 代码时,经常可以看到一些用于处理 EL 表达式和字符串的字符,例如 $、#、% 等。这些字符在 Struts2 的开发中可以起到非常关键的作用。本文将介绍以下几个知识点: 关于 $、#、% 三个字符的作用以及使用场景 $ 和 # 在 Struts2 中的区别 $ 和 # 的示例代码 %…

    Java 2023年5月20日
    00
  • IDEA 自带的数据库工具真的很牛逼(收藏版)

    讲解“IDEA 自带的数据库工具真的很牛逼(收藏版)”的完整攻略,可以分为以下几个部分: 前置条件 配置数据库连接 创建数据库和表 编写 SQL 查询语句 运行查询语句 两条示例 总结 1. 前置条件 在使用 IDEA 自带的数据库工具之前,需要先下载并安装好 MySQL 数据库,并且确保 MySQL 数据库已经启动和运行。 2. 配置数据库连接 在 IDE…

    Java 2023年5月20日
    00
  • Spring Data JPA实现排序与分页查询超详细流程讲解

    下面我来详细讲解一下“Spring Data JPA实现排序与分页查询超详细流程讲解”的完整攻略。本教程共包含以下五个步骤: 引入依赖 在pom.xml文件中加入以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>…

    Java 2023年6月2日
    00
  • Java中MultipartFile与File互转的实现

    Java中MultipartFile和File是常用的文件类型,其中MultipartFile多用于上传功能,而File则是在本地操作文件时经常使用。有时候我们需要将MultipartFile类型的文件转换为File类型,或者将File类型的文件转换成MultipartFile类型,接下来我将详细讲解实现这一过程的攻略。 MultipartFile转换成Fi…

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