SpringBoot整合Mybatis的知识点汇总

下面我来详细讲解“SpringBoot整合Mybatis的知识点汇总”。

使用场景

在实际的开发中,经常需要使用到ORM框架来操作数据库,而Mybatis是一款优秀的ORM框架,而SpringBoot是目前最流行的项目开发框架之一,所以SpringBoot整合Mybatis是一个很常见的需求场景。

整合步骤

下面通过以下6个步骤来讲解SpringBoot整合Mybatis的操作。

1. 引入依赖

首先需要在pom.xml文件中引入Mybatis和数据库连接驱动的依赖,如下:

<!-- Mybatis -->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.3</version>
</dependency>

<!-- 数据库连接驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.23</version>
</dependency>

2. 配置数据源

src/main/resources/application.properties配置文件中,需要指定数据库连接信息,如下:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456

3. 创建实体类

Mybatis中,实体类和数据库中的表是一一对应的关系,所以需要先创建实体类,在此以User实体类为例,如下:

public class User {
    private Long id;
    private String name;
    private Integer age;
    // getter、setter方法省略
}

4. 创建Mapper接口

Mybatis中,Mapper接口定义了操作数据库的方法,需要在Mapper接口中定义方法来操作数据库,在此以UserMapper接口为例,如下:

public interface UserMapper {
    List<User> getAllUsers();
    User getUserById(Long id);
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(Long userId);
}

5. 创建Mapper.xml

Mybatis中,Mapper.xml文件用于配置Mapper接口的具体实现,需要在resources/mappers下创建UserMapper.xml文件,实现UserMapper中定义的方法,如下:

<mapper namespace="com.example.demo.mapper.UserMapper">

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

    <select id="getAllUsers" resultMap="userMap">
        SELECT * FROM user;
    </select>

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

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

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

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

</mapper>

6. 注入Mapper接口

最后,在需要使用Mapper的地方注入Mapper接口即可,同时需要在@MapperScan注解中指定Mapper接口所在的包,如下:

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

至此,SpringBoot整合Mybatis的步骤就结束了。

示例

下面提供两个示例,一个是查询所有用户,一个是查询指定用户。

查询所有用户

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

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

查询指定用户

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable Long id) {
        return userMapper.getUserById(id);
    }
}

以上就是关于“SpringBoot整合Mybatis的知识点汇总”的完整攻略,希望能对你有所帮助。

阅读剩余 69%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Mybatis的知识点汇总 - Python技术站

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

相关文章

  • Jaspersoft Studio添加mysql数据库配置步骤

    下面我来详细讲解“Jaspersoft Studio添加mysql数据库配置步骤”的完整攻略,过程中我将会包含两条示例说明。 1. 下载MySQL JDBC驱动程序 Jaspersoft Studio需要通过JDBC连接到MySQL数据库,因此需要下载MySQL JDBC驱动程序。在MySQL官网下载页面(https://dev.mysql.com/down…

    Java 2023年6月16日
    00
  • Maven基础知识大梳理

    Maven基础知识大梳理 什么是Maven? Maven是一个开源的项目管理工具,用于管理Java项目中的依赖关系、构建过程等。它提供了一个标准的项目结构和一组构建规则,可以让开发人员更加专注于代码本身而不是构建和部署过程。同时,Maven还可以管理项目生命周期,支持丰富的插件机制,可以在构建过程中自动执行测试、生成文档等操作。 Maven的核心概念 POM…

    Java 2023年6月2日
    00
  • IntelliJ IDEA maven 构建简单springmvc项目(图文教程)

    以下是关于“IntelliJ IDEA maven 构建简单springmvc项目(图文教程)”的完整攻略,其中包含两个示例。 IntelliJ IDEA maven 构建简单springmvc项目(图文教程) IntelliJ IDEA是一款强大的Java集成开发环境,它可以帮助我们快速构建Java应用程序。Maven是一款强大的项目管理工具,它可以帮助我…

    Java 2023年5月17日
    00
  • R语言3.6.3安装超详细教程附安装包

    下面是详细的“R语言3.6.3安装超详细教程附安装包”的完整攻略。 准备 首先,你需要下载R语言的安装包。可以前往R官网下载对应版本的R语言安装包。 安装 双击运行下载好的R语言安装包; 选择“ Agree”同意协议; 选择安装位置; 在“Select Components”中,推荐选择默认的安装模式; 此时,“Start Menu Folder”中会出现R…

    Java 2023年5月26日
    00
  • 一个合格JAVA软件工程师应该具备什么

    作为一个合格的JAVA软件工程师,应该掌握以下技能和知识: 技能 1. JAVA基础 熟练掌握Java语言的基本语法、面向对象思想、异常处理等知识 熟悉常用的设计模式,如单例模式、工厂模式、观察者模式等 熟练使用JVM的各种调优和管理手段,如GC、JMX等 2. 数据库 熟悉关系型数据库和非关系型数据库,如MySQL、Oracle、MongoDB等 能够使用…

    Java 2023年5月19日
    00
  • Java代码是如何被CPU狂飙起来的

    Java代码是如何被CPU狂飙起来的 当Java代码被编译成字节码之后,需要被虚拟机解释执行。对于常见的Oracle JDK,虚拟机的实现是HotSpot VM。HotSpot VM为了提升程序的性能,包含了即时编译器(JIT)。 在执行Java代码的过程中,HotSpot VM会对一些热点代码进行监控,这些热点代码包括被频繁调用和执行时间较长的方法或循环等…

    Java 2023年5月19日
    00
  • IntelliJ IDEA 2020.2 EAP6 发布,支持 Jakarta EE 9

    IntelliJ IDEA 2020.2 EAP6 发布,支持 Jakarta EE 9 IntelliJ IDEA是一个强大的Java集成开发环境,被广泛用于开发Java和支持Java平台的其他语言。最近,IntelliJ IDEA发布了2020.2 EAP6版本,这个版本已经支持Jakarta EE 9。下面是这个版本的相关内容。 支持 Jakarta …

    Java 2023年6月15日
    00
  • java的几种定时器的具体使用(4种)

    下面我将详细讲解Java中几种定时器的具体使用。 一、定时器概述 定时器,也称为计时器,是一种可以定期、周期性执行任务的工具。在Java语言中,我们可以使用JDK提供的Timer类或ScheduledExecutorService接口来实现定时任务。 二、Timer类 Timer类提供了一种调度机制,允许我们在指定的时间点执行任务,并支持重复执行任务。 1.…

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