主要实现:封装SqlSession到执行器+Mapper接口和Mapper.xml+MapperBean+动态代理Mapper的方法
1.Mybatis整体架构分析
1)mybatis 的核心配置文件
mybatis-config.xml:进行全局配置,全局只能有一个这样的配置文件
XxxMapper.xml 配置多个SQL,可以有多个 XxxMapper.xml 配置文件
2)通过 mybatis-config.xml 配置文件得到 SqlSessionFactory
3)通过 SqlSessionFactory 得到 SqlSession,用 SqlSession 就可以操作数据了
4)SqlSession 底层是 Executor(执行器),有两个重要的实现类
5)MappedStatement 是通过 XxxMapper.xml 来定义的,用来生成 statement 对象
6)参数输入执行并输出结果集,无需动手判断参数类型和参数下标位置,且自动将结果集映射为Java对象
2.搭建开发环境
(1)创建maven项目
(2)在pom.xml 中引入必要的依赖
<!--指定编译器/source/target的版本--> |
|
<properties> |
|
<project.build.sourdeEncoding>UTF-8</project.build.sourdeEncoding> |
|
<maven.compiler.source>1.8</maven.compiler.source> |
|
<maven.compiler.target>1.8</maven.compiler.target> |
|
<java.version>1.8</java.version> |
|
</properties> |
|
<!--引入必要的依赖--> |
|
<dependencies> |
|
<!--dom4j--> |
|
<dependency> |
|
<groupId>dom4j</groupId> |
|
<artifactId>dom4j</artifactId> |
|
<version>1.6.1</version> |
|
</dependency> |
|
<!--mysql--> |
|
<dependency> |
|
<groupId>mysql</groupId> |
|
<artifactId>mysql-connector-java</artifactId> |
|
<version>5.1.49</version> |
|
</dependency> |
|
<!--lombok-简化entity/javabean/pojo 的开发--> |
|
<dependency> |
|
<groupId>org.projectlombok</groupId> |
|
<artifactId>lombok</artifactId> |
|
<version>1.18.4</version> |
|
</dependency> |
|
<!--junit--> |
|
<dependency> |
|
<groupId>junit</groupId> |
|
<artifactId>junit</artifactId> |
|
<version>4.12</version> |
|
</dependency> |
|
</dependencies> |
(3)创建数据库和表
-- 创建数据库 |
|
CREATE DATABASE `li_mybatis`; |
|
USE `li_mybatis`; |
|
-- 创建monster表 |
|
CREATE TABLE `monster`( |
|
`id` INT NOT NULL AUTO_INCREMENT, |
|
`age` INT NOT NULL, |
|
`birthday` DATE DEFAULT NULL, |
|
`email` VARCHAR(255) NOT NULL, |
|
`gender` TINYINT NOT NULL,-- 1 male,0 female |
|
`name` VARCHAR(255) NOT NULL, |
|
`salary` DOUBLE NOT NULL, |
|
PRIMARY KEY(`id`) |
|
)CHARSET=utf8 |
|
-- insert |
|
INSERT INTO `monster` VALUES(NULL,200,'2000- |