持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情
MyBatis框架快速入门
1. 内容列表
- 快速开始一个MyBatis
- 基本CURD的操作
- MyBatis内部对象分析
- 使用DaoImpl.xml
2. 入门案例
2.1 开发准备
搭建 MyBatis 开发环境,实现第一个案例
下载 mybatis
下载后的目录结构
其中:
mybatis-3.5.1.jar---->mybatis的核心包
lib ---->mybatis的依赖包
mybatis-3.5.1.pdf---->mybatis使用手册
2.2 搭建MyBatis开发环境
(1) 创建mysql数据库和表
CREATE DATABASE ssm DEFAULT CHARSET utf8;
use ssm;
CREATE TABLE `student` (
`id` int(11) AUTO_INCREMENT primary key ,
`name` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into student(name,email,age) values('张三','zhangsan@126.com',22);
insert into student(name,email,age) values('李四','lisi@126.com',21);
insert into student(name,email,age) values('王五','wangwu@163.com',22);
insert into student(name,email,age) values('赵六','zhaoliun@qq.com',24);
select * from student;
(2) 创建工程,添加依赖
<dependencies>\
<dependency>\
<groupId>junit</groupId>\
<artifactId>junit</artifactId>\
<version>4.11</version>\
<scope>test</scope>\
</dependency>\
<!-- 添加mybatis框架的依赖-->\
<dependency>\
<groupId>org.mybatis</groupId>\
<artifactId>mybatis</artifactId>\
<version>3.5.1</version>\
</dependency>\
<!-- 添加mysql8.0驱动-->\
<dependency>\
<groupId>mysql</groupId>\
<artifactId>mysql-connector-java</artifactId>\
<version>8.0.22</version>\
</dependency>
(3) 编写Student实体类
public class Student {
private int id;
private String name;
private String email;
private int age;
}
(4) 添加db.properties文件
该文件用来提供数据库连接信息.
(5) 创建MyBatis主配置文件
右键新建SqlMapConfig.xml文件,从MyBatis-3-User-Guide-Simplified-Chinese.pdf中拷贝过来头参数.
<?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">
<!--mybatis-3-config.dtd:它规定了当前的xml文件中可以出现哪些标签\
这些标签的顺序和位置,这些标签的属性\
这些标签的子标签
(6) 创建MyBatis主配置文件参数详解
configuration>\
<!-- 将文件流指向db.properties,最终是为了从中读取数据库的一堆配置信息-->\
<properties resource="db.properties"></properties>\
<!-- 要进行数据库的访问,所以要进行数据库访问的配置,驱动,url,username,password-->\
<!-- environments:进行环境变量(连接数据库)的配置\
可以进行多个数据库连接配置,可以上线一套,开发一套,可以mysql一套,oracle一套等\
default:本次配置中使用的环境变量的名称,多套配置,default决定哪套配置生效\
-->\
<environments default="development">\
<!--environment:进行具体环境变量的配置\
id: 为当前的配置的环境变量起个名称,为了在environments的default中使用\
-->\
<environment id="development">\
<!-- transactionManager:事务管理\
type: JDBC:就是程序员自己来管理事务的提交和回滚\
MANAGED:由容器来进行事务的管理,例如:spring\
-->\
<transactionManager type="JDBC"></transactionManager>\
<!-- dataSource:数据源的配置\
type:指定数据源的配置方式,是否是连接池\
"POOLED":表明使用数据库连接池\
"UNPOOLED":不使用连接池\
"JNDI":java命名目录接口,由服务器端负责连接池的管理\
property: driver:数据库驱动\
url:数据库的路径\
username:访问数据库的用户名\
password:访问数据库的用户的密码\
-->\
<dataSource type="POOLED">\
<property name="driver" value="${jdbc.driver}"/>\
<property name="url" value="${jdbc.url}"/>\
<property name="username" value="${jdbc.username}"/>\
<property name="password" value="${jdbc.password}"/>\
</dataSource>\
</environment>\
</environments>\
<!-- 注册StudentDaoImpl.xml文件,注意.xml后缀要带上-->\
<mappers>\
<mapper resource="StudentDaoImpl.xml"></mapper>\
</mappers>\
</configuration>
支持中文的 url,连接mysql8要添安全密钥允许访问和时区的设置
jdbc.url=jdbc:mysql://localhost:3308/ssm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true