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组件commons-fileupload实现文件上传

    为了更好地讲解java组件commons-fileupload实现文件上传的攻略,我将分为以下几个部分: 环境准备 引入commons-fileupload依赖 添加文件上传页面 编写SpringMVC控制器 添加配置文件 在接下来的讲解中,我将详细介绍每个部分的实现步骤和示例说明。 1. 环境准备 在使用commons-fileupload组件实现文件上传…

    Java 2023年6月15日
    00
  • 一个牛人给Java初学者的建议(必看篇)

    一个牛人给Java初学者的建议(必看篇)攻略详解 建议1:学好基础知识 Java是一门面向对象的编程语言,因此学好面向对象编程的思想是Java入门的基础。学习面向对象编程,要掌握类、对象、继承、封装、多态等基本概念。 同时,Java还有很多重要的基础知识,比如数据类型、控制语句、循环结构、数组、接口、异常处理等,这些知识点也需要熟练掌握。初学者可以通过阅读教…

    Java 2023年5月20日
    00
  • 如何使用java写Student类的功能

    下面详细讲解如何使用Java写Student类的功能的完整攻略,过程中包含两条示例说明。 1. 定义Student类 首先,我们需要定义一个Student类,代码如下: public class Student { private String name; private int age; public Student(String name, int ag…

    Java 2023年5月26日
    00
  • 什么是Java编译期注解?

    Java编译期注解是一种在Java编译时期处理的注解,它通过在源代码上附加注释信息的方式,在Java程序编译期处理中对注解进行分析并进行特定处理,从而可以在程序运行期间实现一些自定义功能。 以下是Java编译期注解的一些使用攻略: 1. 创建注解类 首先,我们需要定义一个注解类。注意,注解类的定义必须加上 @interface,以表示它是一个注解。 @Ret…

    Java 2023年5月11日
    00
  • Spring超详细讲解面向对象到面向切面

    以下是一份“Spring超详细讲解面向对象到面向切面”的完整攻略: 什么是面向对象编程 面向对象编程(OOP)是一种程序设计范式,其中对象可以相互交互以实现逻辑。在Java编程环境中,面向对象编程可以帮助程序员更好地重复利用和组织代码,使得代码更易于维护和扩展。 什么是Spring框架 Spring框架是一种轻量级的、开源的、基于Java的应用框架,旨在简化…

    Java 2023年5月19日
    00
  • Apache Ant自动化脚本入门教程及常用命令介绍

    Apache Ant自动化脚本入门教程及常用命令介绍 什么是Apache Ant Apache Ant是一个基于Java的自动化构建工具,主要用于软件开发中的编译、打包、部署等操作。使用Ant可以将繁琐的手动操作转换为自动化流程,提高效率,并减少出错的可能性。 安装和配置Ant 下载Ant安装包:从官网 https://ant.apache.org/ 下载最…

    Java 2023年5月19日
    00
  • Java实现ZooKeeper的zNode监控

    当我们使用ZooKeeper作为分布式协调框架时,监视zNode的变化是很常见的任务,因为zNode的变化往往意味着某些与服务相关的状态变化。本文将详细讲解如何使用Java实现ZooKeeper的zNode监视。 步骤一:导入ZooKeeper依赖 首先,在项目的pom.xml文件中添加以下ZooKeeper依赖: <dependency> &l…

    Java 2023年5月19日
    00
  • springMVC实现文件上传和下载

    下面我将详细讲解 Spring MVC 实现文件上传和下载的完整攻略。 文件上传 准备工作 在 Spring MVC 中,文件上传需要使用 MultipartResolver 接口来进行解析。常用的实现类有两种,分别是: StandardServletMultipartResolver:使用 Servlet API(3.0)中的 Part 接口进行文件上传解…

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