一、MyBatis概述
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
它封装了很多jdbc操作的细节,使开发者本身只需要关注sql语句,无需关注注册驱动,创建连接等繁杂过程
它使用了 ORM 思想实现了结果集的封装
ORM:
Object	Relational	Mapping	对象关系映射
把数据库和实体类以及实体类的属性连接起来
通过操作实体类就可以操作数据库表
但是,实体类中的属性和数组库表的字段名称始终保持一致
mybatis有代理和无代理的区别
mybatis有代理:映射xml文件的namespace值必须和映射接口全路径保持一致
mybatis无代理:映射xml文件的namespace值可以是任意的,但一般情况下和映射接口全路径保持一致
mybatis延迟加载和立即加载
延迟加载(懒加载):在查询时不一次行加载,按需求加载
立即加载:在查询时关联的表格将会立即查询出来加载进内存,不管用不用
在关系映射中,延时加载会提高系统性能
关系映射
一方配置:一对多
实体类:一方引用多方list集合
xml:
多方配置:多对一
实体类:多方引用一方对象
xml:
延时加载和立即加载是建立在关联映射基础上
二、使用MyBatis的开发步骤
1.下载mybatis-3.2.2.jar包并导入工程
2.编写MyBatis核心配置文(configuration.xml)和db.properties数据库配置文件
3.创建实体类-POJO
4.DAO层-SQL映射文件(mapper.xml)
5.创建测试类
读取核心配置文件mybatis-config.xml
创建SqlSessionFactory对象,读取配置文件
创建SqlSession对象