springboot整合mybatis流程详解

 更新时间:2022年05月20日 09:35:38   作者:借一缕月光  
这篇文章主要为大家详细介绍了springboot整合mybatisplus的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1.mybatis是什么

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2.整合

两种方式:

  • 新建一个mybaits-config.xml文件,内容配置其中
  • 在springboot核心配置文件application.yaml中,配置mybatis内容(这边只展示第二种)

2.0 前期工作:保证可以连接上数据库

导入依赖:

	<!--数据库启动器-->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-jdbc</artifactId>
   </dependency>
   
   <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
   </dependency>

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: xxx
    url: jdbc:mysql://localhost:3306/mybatis

springboot中默认使用hikari连接池,号称最快的连接池。连接池还有DBCP,c3p0,druid…

2.1 导入依赖

<!--引入 mybatis-spring-boot-starter 的依赖-->
  <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.2.0</version>
  </dependency>

2.2 创建包和类

mapper层:

@Mapper
public interface EmployeeMapper {
    public Employee getEmpById(Integer id);
}

mapper层对应的xm文件:

<?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.mapper.EmployeeMapper">
    <select id="getEmpById" resultType="com.example.entity.Employee">
        select * from employee where id = #{id}
    </select>
</mapper>

2.3 在application.yaml配置mybatis

mybatis:   
  mapper-locations: classpath:mybatis/mapper/*.xml   # 找到mapper层对应的xml文件
  config-location: mybatis-config.xml   # mybatis配置文件,resource目录下

mybaits的属性设置参考文档:https://mybatis.net.cn/configuration.html#settings

3.使用注解版mybaits

在mapper接口的方法上,使用注解增删改查@Update()、 @Insert()、 @Select()、@Delete()

@Insert("insert into employee (name,age,position) values(#{name},{age},#{position})")
void insert(Employee employee);
@Select("select * from employee where id = #{id}")
void selectById(Integerid);

4.实战过程

  • 引入mybatis-spring-boot-start
  • 配置application.yaml中,指定mapper-locations位置
  • 编写mapper接口并标注@Mapper注解
  • 简单方法直接使用注解
  • 复杂方法编写在mapper.xml进行绑定映射
  • @MapperScan(“com.lmh.mapper”)简化,该目录下的mapper接口就可不添加@Mapper注解

到此这篇关于springboot整合mybatis流程详解的文章就介绍到这了,更多相关springboot mybatis内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java数组的初始化方法详解

    Java数组的初始化方法详解

    在Java程序开发中,数组是一个非常常用的数据类型,数组的初始化是使用数组来存储和处理数据的关键步骤之一,但是,关于Java数组的初始化,经常会让人感到迷惑,本文将详细介绍Java数组的初始化方法,帮助读者从此告别关于Java数组初始化的困惑
    2023-11-11
  • 使用stream的Collectors.toMap()方法常见的问题及解决

    使用stream的Collectors.toMap()方法常见的问题及解决

    这篇文章主要介绍了使用stream的Collectors.toMap()方法常见的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java线程生命周期图文详细讲解

    Java线程生命周期图文详细讲解

    在java中,任何对象都要有生命周期,线程也不例外,它也有自己的生命周期。线程的整个生命周期可以分为5个阶段,分别是新建状态、就绪状态、运行状态、阻塞状态和死亡状态
    2023-01-01
  • 使用cmd根据WSDL网址生成java客户端代码的实现

    使用cmd根据WSDL网址生成java客户端代码的实现

    这篇文章主要介绍了使用cmd根据WSDL网址生成java客户端代码的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • SpringBoot实现AOP切面的三种方式

    SpringBoot实现AOP切面的三种方式

    Spring,SpringBoot框架凭借多种高效机制,显著增强了代码的功能性,并实现了切面编程(AOP)的精髓,其核心亮点之一,是运用动态代理技术,无需触动源代码即可在Bean的运行时为其动态织入额外功能,本文给大家介绍了SpringBoot通过3种方式实现AOP切面,需要的朋友可以参考下
    2024-08-08
  • IntelliJ IDEA的数据库管理工具实在太方便了(推荐)

    IntelliJ IDEA的数据库管理工具实在太方便了(推荐)

    这篇文章主要介绍了IntelliJ IDEA的数据库管理工具实在太方便了,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 一篇文章带你Java Spring开发入门

    一篇文章带你Java Spring开发入门

    这篇文章主要为大家详细介绍了Java Spring开发入门学习教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-09-09
  • JavaWeb项目中DLL文件动态加载方法

    JavaWeb项目中DLL文件动态加载方法

    在JavaWeb项目中,有时候我们需要在运行时动态加载DLL文件(在Windows中是DLL,在Linux中是SO文件),这通常用于实现一些特定的功能,比如调用本机代码或者使用某些特定于操作系统的API,本文将介绍如何在JavaWeb项目中动态加载DLL文件,需要的朋友可以参考下
    2024-12-12
  • java字符串中${}或者{}等的占位符替换工具类

    java字符串中${}或者{}等的占位符替换工具类

    今天小编就为大家分享一篇关于java字符串中${}或者{}等的占位符替换工具类,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Jmeter配置代理实现录制过程图解

    Jmeter配置代理实现录制过程图解

    这篇文章主要介绍了Jmeter配置代理实现录制过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论