Mybatis

简介

  • 是一款优秀的持久层框架,用于简化JDBC,原名iBatis
  • 源码托管在Github,Mybatis
  • 一般都是在Spring Boot中直接使用
  • SpringBoot数据库连接配置
1
2
3
4
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=1234

• 使用@Mapper注解自动配置接口,接口方法再使用@Select('select * from user')注解,让IOC自动创建实现类的时候自动实现方法
• 数据库连接池

  • 是一个容器,负责分配、管理数据库连接(Connection)
  • 允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个
  • 释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗留
  • 在pom文件中直接引入连接池的依赖,就切换好了连接池,所以数据库连接配置文件不用改

IDEA配置Mysql提示

在这里插入图片描述

开始

创建并使用一个接口,注解@Mapper
方法就可以使用@Select('select * from user;')

接口注解

  • @Mapper

方法注解

  • @Select
  • @Insert
  • @Update
  • @Drop

alt text

自动封装

  1. 给字段起别名,让别名与实体类属性一致
    在这里插入图片描述

  2. 通过@Results,@Result注解手动映射封装
    在这里插入图片描述

  3. 开启Mybatis驼峰自动命名开关,删除下划线并大写后一个字母
    在这里插入图片描述

XML映射文件

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEmapper
PUBLIC"-//mybatis.org//DTDMapper3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mappernamespace="top.nodaoli.mapper.EmpMapper">
<!--resultType:单挑记录所封装的类型-->
<selectid="list"resultType="top.nodaoli.pojo.Emp">
Select * from emp where name like '%${name}%' and gender = #{gender} and
Entrydate between '${begin}' and '${end}' order by update_time desc LIMIT 5 OFFSET #{page};
</select>
</mapper>

foreach标签

在这里插入图片描述