1、Mybatis介绍
a、Mybatis源自于apache基金会的开源项目ibatis,2010年由apache迁移到Google,改名为mybatis;
b、mybatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架;
c、mybatis使用简单的xml或者注解配置和定义映射关系,将java的POJOS(Plain Old Java Objects) 映射成数据库中的记录。
2、Mybatis体系结构介绍
a、加载配置
形式1:XML配置文件
形式2:java代码的注解
Mybatis将SQL的配置信息加载成为一个个的MappedStatement对象,包括了传入参数映射配置、执行的SQL语句、结果映射配置,并将其存储在内存中。
b、SQL解析
*当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象,对象可以是Map、JavaBean和基本数据类型,Mybatis会根据Sql的id找到对应的MappedStatement进行解析,解析后可以得到最终需要执行的SQL语句和参数。
c、SQL执行
*将最终得到的SQL和参数拿到数据库执行得到操作数据库的结果。
d、结果映射
*将操作结果按照映射配置进行转换,可以转换成HashMap、JavaBean和基本数据类型,并返回结果。
3、实例:
1、准备数据
create table
CREATE TABLE `emp` (
`id` int(10) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`age` int(3) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
INSERT INTO `test`.`emp`(`id`,`name`,`age`) VALUES ( '1','xsx','24');
INSERT INTO `test`.