MyBatis
什么是MyBatis
MyBatis最早源于Apache基金会的一个开源项目ibatis,2010年这个项目由Apache softWare foundation 迁移到了googleCode,并且改名为MyBatis。
--MyBatis是支持普通SQL查询、储存过程和高级映射的优秀持久层框架;
--MyBatis它封装了几乎所有的JDBC代码和参数手工设置以及结果集的检索。
--MyBatis使用简单的XML配置定义映射关系,将java的实体对象映射成数据库中的记录。
MyBatis体系结构
--加载配置:
MyBatis将SQL的配置信息加载成一个个的MappedStatement对象(包含了传入的参数映射配置、执行的SQL语句、结果映射配置),并将其
存储在内存中。
--SQL解析:
当API接口层接到调用请求时,会接收到传入的ID和传入的对象,MyBatis会根据SQL的ID找到对应的MappedStatement,然后再根据传入
的参数对象对MappedStatement进行解析,解析之后可以最终得到要执行的SQL语句和参数。
--执行SQL:
将最终得到的SQL和参数拿到数据库执行,得到操作数据库的结果。
--结果映射:
将操作数据库的结果按照映射的配置进行转换,并最终将结果返回。
MyBatis配置文件
1、SqlMapConfig.xml
--主配置文件:用于指定数据库连接参数和框架参数
2、sqlMap.xml
--映射定义文件:用于定义SQL语句和映射信息。
MyBatis框架API主要涉及如下几个
--SqlSessionFactoryBuilder
--该对象负责根据MyBatis配置文件键SqlSessionFactory实例。
--SqlSessionFactory
--每一个MyBatis的应用程序都以一个SqlSessionFactory对象为核心,该对象负责创建SQLSession对象实例。
--SqlSession
--该对象包含了所有的执行SQL操作的方法,用于执行已映射的SQL语句。
利用MyBatis实现分页查询
在使用SqlSession的selectList方法时,指定一个RowBounds分页器参数,即可查询指定范围的记录:RowBounds(offset,limit);
--offset:指定抓取记录的起始行
--limit:指定抓取记录的数量
--selectList(SQLID,参数,RowBounds对象)使用这个方法: