欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

springboot整合mybatis流程详解

时间:2022-10-12 10:05:14|栏目:JAVA代码|点击:

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注解

上一篇:Java几个实例带你进阶升华上篇

栏    目:JAVA代码

下一篇:Javas使用Redlock实现分布式锁过程解析

本文标题:springboot整合mybatis流程详解

本文地址:http://www.codeinn.net/misctech/216176.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有