环境:
- JDK 1.8
- MySQL 8.0.28
- maven 3.8.5
- IDEA
基础:
- JDBC
- MySQL
- Java
- Maven
- Junit
框架:配置文件 官网文档
1. 简介
1.1 什么是MyBatis
- 持久层框架
- 定制化SQL、存储过程、高级映射
- 避免JDBC、手动设置参数、获取结果集
- XML、注解配置映射原生类型、接口、POJO为数据库中的记录
- apache的开源项目iBatis(internet + abatis)基于Java 2010年由apache software foundation迁移到了google code 改名为MyBatis
- 2013.11 迁移到github
- iBatis提供的持久层框架包括SQL Maps 和 Data Access Objects(DAOs)
获取:
-
maven:
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.9</version> </dependency>
-
Github:https://github.com/mybatis/mybatis-3/releases
-
中文文档:https://mybatis.org/mybatis-3/zh/getting-started.html
1.2 持久化
- 数据持久化:将程序中的数据在持久状态和瞬时状态转化的过程
- 内存:断电即失
- 数据库(JDBC)、IO文件持久化
持久化的意义:
- 有些对象不能丢失
- 内存价格高
1.3 持久层
Dao Service Controller
- 完成持久化工作的代码块
- 层 界限明显
1.4 MyBatis优势
- 将数据存入数据库中
- 方便、灵活
- 简化JDBC 框架
- 可替代,但更容易上手
- sql与代码分离
- 提供映射标签、支持对象和数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,可编写动态SQL
2. 第一个MyBatis程序
2.1 搭建环境
-
搭建数据库
CREATE DATABASE `mybatis`; USE mybatis CREATE TABLE `user`( `id` INT(20) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `pwd` VARCHAR(30) DEFAULT NULL, PRIMARY KEY(`id`)`mybatis``user` )ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO `user`(`id`,`name`,`pwd`)VALUES (1,'李倪','111111'), (2,'王记','313131'), (3,'赵新','121212');
-
新建普通maven项目
-
删除src目录
-
导入maven依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0