开发者学堂课程【MyBatis持久层框架入门:配置文件优化】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/21/detail/443
配置文件优化
1、工作运行:
通过配置文件创建 SqlSessionFactory
此时,它相当于 SqlSession 的工厂模式
SqlSession 的作用主要是映射,通过id找到相应的 sql 语句,再去执行 sql 语句
Opensession 的实现类是 Defaultsqlsession,selectone 会执行 statement,进而在 selectlist 中通过 statement 去读取 mappedstatement。
2、Getconnection 获取连接对象
sqlsessionfactory 的实现类是 Defaultsqlsessionfactory
Spensessionfromdatesourse 通过其环境变量、管理器、执行器,最终创建Defaultsqlsession 对象,Defaultsqlsession 执行时,selectone 会获得连接,此时,它还会去提交、回滚、关闭、释放资源。
3、执行流程
读取核心配置文件
创建 sqlSessionFactory 类
得到 SqlSession
进而执行相关操作
4、优化配置文件
Mapper XML 配置
MyBatis 的 XML 配置文件包含了设置和影响 MyBatis 行为的属性。
XML 配置文件的层次结构如下:
1、 configuration
properties
settings
typeAliases
typeHandlers
objectFaxtory
plugins
environments
2、 environment
3、 transactionManager
4、 dateSourse
5、 mappers
properties 元素
它们都是外部化,可替代的属性。
可以配置在一个典型的 Java 属性文件中,或者通过 properties 元素的子元素进行配置。例如:
在配置整个文件中,这些属性能够被可动态替换(及使用占位符)的属性值引用。
如果将 xml 中的 vaule 值拷贝到 properties(配置文件)中,修改数据库时则会修改方便,无需再返回 xml 中修改,两者均无需重新装载
导入 properties 配置文件
a) 在src下加入db.properties配置文件
typeAliases 元素
别名为一个较短的 Java 类型的名称。这只是与XML配置文件相关联,减少输入
余的完整类名。例如:
它可为指定类型指名 别名 使得在 mapper 映射文件中简化引用也可为某个包下的所有类指定别名,此时需在其后指定 package
有时它的默认别名为其自身对应的类别名
一旦指定了,在 resultType 中可直接使用“User”
a) 在 mybatis.cfg.xml 中添加 properties 标签