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 导入依赖
<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
config-location: mybatis-config.xml
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注解
|