零、前言
本文提到的内容,都只是最基础的应用,个人学习的同时,记录下来,忘记之后还可查看此文档快速回忆。
参看:
- Mybatis:https://mybatis.org/mybatis-3/zh/getting-started.html
- Mybatis plus:https://mp.baomidou.com
环境:
JDK1.8+,MAVEN,IDEA,internet,… …
文章目录
在SpringBoot中,使用各种持久层工具都非常的方便,这是基于它的 自动装配原理 而实现。
SpringBoot中实现持久化的步骤:
先约定一下SQL,之后所有的操作都是基于此SQL执行后的表:
DROP TABLE IF EXISTS `user_db`;
CREATE TABLE `user_db` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;
INSERT INTO `user_db`(id,username) values
(1,'张三'),
(2,'李四'),
(3,'王二'),
(4,'麻子'),
(5,'王三'),
(6,'李三');
一、Mybatis
配置文件都使用YAML文件。并且Mybatus的是很多公司都在用的框架,虽然需要配置XML文件的CURD。
1.SpringBoot整合Mybatis
目录结构图(提供此图后,对应的文件应该放在对应的包目录下,可千万别放错了哟~)
SpringBoot官方并没有提供Mybatis的启动器,所以得引入启动器:
如果连接数据库,当然还得引入MySQL的依赖。
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
之后就是在application.yml配置文件中编写简单的配置即可
server:
port: 8080
spring:
# 标注项目现在环境 dev-开发 test-测试 pro-上线
profiles:
active: dev
# 配置数据源
datasource:
username: root
password:
url: jdbc:mysql://localhost:3306/test # 我的库是test
#mybatis配置
mybatis:
type-aliases-package: com.pdh.entity
mapper-locations: classpath:/mybatis/*.xml # mapper位置,默认扫描这里
之后就是创建实体类User
实体类需要与数据表对应,如果有不对应的字段,需要在mybatis.xml文件中指定表示出来。(映射文件是mybatis.xml)
public class User {
private int id;
private String username;
// 生成getter,setter,构造等方法
}
编写Mapper接口,并加入一个方法find()
方法
可以加上@Mapper注解加载Mpper类,但是能够直接在启动类上加@MapperScan(“com.pdh.mapper”)注解扫描指定的包,后者更加简约。
public interface UserMapper {
/**
* 查询
* @param user condition
* @return
*/
public List<User> find(User user);
}
编写映射文件UserMapper.xml
还可使用注解直接注入到Mapper类中对应的方法上,但是并不灵活,这种方式就低耦合一些,还可以实现动态SQL
<?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