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的知识点汇总”的完整攻略,希望能对你有所帮助。

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

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

相关文章

  • POI通用导出Excel(.xls,.xlsx)的方法

    当我们需要将数据导出为Excel文件时,利用Apache POI这个强大的Java API可以快速简便地完成。以下是POI通用导出Excel(.xls,.xlsx)的方法攻略。 引入依赖 首先需要在Maven中引入POI的依赖: <dependency> <groupId>org.apache.poi</groupId> …

    Java 2023年5月20日
    00
  • Java多线程之同步锁-lock详解

    Java多线程之同步锁-lock详解 前言 在多线程编程中,同步是一项非常重要的概念,同步控制的目的是为了保证线程安全,避免由于多线程操作导致的数据混乱等问题。在Java中,同步机制有多种实现方式,其中Lock是比较常用的一种。 Lock与synchronized的对比 在Java早期版本中,synchronized是主流的同步控制方式,但是synchron…

    Java 2023年5月19日
    00
  • Spring MVC 简单的hello world的实现

    Spring MVC是一种基于Java的Web框架,它可以帮助我们快速地开发Web应用程序。在本文中,我们将详细介绍如何使用Spring MVC实现一个简单的“Hello, world!”应用程序。 环境准备 在开始之前,我们需要准备好以下环境: JDK 1.8或更高版本 Maven 3.0或更高版本 IntelliJ IDEA或Eclipse等Java I…

    Java 2023年5月17日
    00
  • (starters)springboot-starter整合阿里云datahub方式

    完整攻略:Spring Boot整合阿里云DataHub 一、前置条件在开始整合之前,需要先确保以下几个条件: 阿里云账号及DataHub服务我们需要一个已开通DataHub服务的阿里云账号,假设我们已有一个名为”test-datahub”的DataHub项目。 工具准备a) Maven及Java IDE(本文以Intellij IDEA为例)b) 阿里云S…

    Java 2023年5月20日
    00
  • Java日常练习题,每天进步一点点(48)

    该题目是一道Java语言的练习题,侧重于帮助学习者通过自我练习提高Java编程能力,增强对Java知识的掌握和理解。 本题主要包含以下几个部分: 题目描述:阐述了本题需要实现的功能要求以及细节要求,一般以文字的形式呈现。 代码说明:该部分通常提供的是代码的框架,可能包含已经定义好的变量、方法和类等基本的代码结构,需要学习者根据题目要求进行补充和完善。 解题思…

    Java 2023年5月23日
    00
  • 什么是对象引用?

    对象引用是 Java 中一种特殊的数据类型,用于存储对象在内存中的地址。在 Java 中,所有的对象都是在堆内中分配的,而对象引用则是在栈存中分配的对象引用可以用来访问对象的属性和方法。 以下是对象引用的完整使用攻略: 声明对象用 在 Java 中,使用名或接口名来声明对象引用。以下是一个声明对象引用的示例: public class ObjectRefer…

    Java 2023年5月12日
    00
  • 使用spring data的page和pageable如何实现分页查询

    使用Spring Data的Page和Pageable可以很方便地实现分页查询。下面是实现分页查询的完整攻略: 1. 添加依赖 首先需要在pom.xml中添加Spring Data JPA和对应的数据库驱动依赖: <dependency> <groupId>org.springframework.data</groupId&gt…

    Java 2023年5月20日
    00
  • IIS Tomcat共享80端口的解决方案

    介绍 IIS 是 Microsoft 的一款 Web 服务器,而 Tomcat 是 Apache 社区的一款 Web 服务器。在 Windows 使用 IIS(Internet Information Services)时,如果想要使用 Tomcat,可能需要将 Tomcat 启动在另一个端口上,而不是默认的 8080 端口。这不仅不方便,而且还需要将请求从…

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