什么是MyBatis?
MyBatis是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架
MyBatis虽然实现了JPA但是它并不是一个完整的ORM组件,而是一个基于SQL开发的半ORM组件
MyBatis缓存:
MyBatis的缓存分为一级缓存二级缓存,一级缓存存放在session里面(默认),二级缓存存放在命空间里默认是打不开的,如果需要使用二级缓存属性类需要实现Serializable序列化接口
MyBatis的基本要素:
核心接口和类、核心配置文件、SQL映射文件
MyBatis的优点和缺点:
优点:
基于SQL语句编程,相当灵活,SQL是写在XML里,这样解除sql与程序代码的耦合,便于统一管理;MyBatis提供XML标签,支持编写动态sql语句。
与JDBC相比代码量最少减少了50%,消除了JDBC中大量的冗余代码
缺点:
SQL语句编写的工作量较大,SQL语句依赖于数据库,移植性差。
MyBatis核心配置的标签(注意标签有先后顺序)
configuration(根节点)
properties(引入文件)
settings(运行时的行为)
typeAliases(为Java类型起别名)
environments(运行环境)
environment(测试环境)
dataSource(配置jdbc连接对象的资源)
mappers(指定映射文件路径)
MyBatis的核心类和接口:
SqlSessionFactory:
MyBatis框架应用程序的核心
由SqlSessionFactoryBuilder对象根据XML噢诶之文件或Configuration类的实例进行构建
通过SqlSessionfactory实例可获取SqlSession实例。SqlSession实例包含执行SQL操作的方 法,可以通过该实例已映射的SQL语句
SqlSessionFactoryBuilder:
负责根据配置信息构建SqlSessionFactory实例
SqlSessionFactory:
由SqlSessionFactoryBuilder构建的SqlSessionFactory实例是MyBatis框架应用的核心
MyBatis框架主要通过XPath语法定位节点
XPath被称为扩展标记语言路径语言,它是一种用来确定XML中某节点位置。XPath基于XML的树状结构,提供在数据结构中找寻节点的能力。