最近在看黑马的视频,将讲解的内容记录了一下
SqlMapConfig的配置
属性
properties : 属性
settings : 全局配置参数
typeAliases : 类型别名
typeHandlers: 对象工厂
plugins : 插件
environments: 环境集合属性对象
environment : 环境子属性对象
transactionManager : 事务管理
dataSource : 数据源
mappers : 映射器
properties 属性
需求:
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。
在SqlMapConfig.xml中不惜要对数据库连接参数硬编码。位置: configuration下,environments同级
内容:
- 属性 resource 可以引用文件
- 子标签 可以定义属性,只是其防止硬编码的优势消失了。
特性:
属性的加载次序:
properties元素内的属性 -> properties resoucre或url加载的属性 -> parameterType传递的属性
每次加载都会覆盖,值得注意在后一点,parameterType恰巧与properties属性名相同的情况。
settings 全局参数配置
mybatis运行的全局参数,详见mybatis的手册
typeAliases 别名
需求:
如果在指定类型全路径太长,可以针对 parameterType 或 resultType 对其指定别名。格式:
<!-- 1 单个包别名 -->
<typeAlias type="cn.xxx.mybatis.po.User" alias="user"/>
<!-- 2 批量别名,别名及包下类名,首字母可大写可小写 -->
<typeAliases>
<package name="cn.xxx.mybatis.po">
</typeAliases>
typehandlers 类型处理器
- 需求 :
mybatis中通过 typhandlers 完成jdbc类型和java类型的转换,一般每情况下jdbc的处理器足够使用,
具体可见手册。
mappers 映射器
- 格式:
<mappers>
<!-- 1 通过文件路径家阿在单个映射文件 -->
<mapper resource="路径"/>
<!-- 2 通过mapper接口加载单个映射文件:
将mapper接口类名和mapper映射文件名称保持一致,
且在一个目录中(使用mapper代理)-->
<mapper class="cn.xxx.mybatis.mapper.usermapper">
<!-- 3 批量加载: 指定mapper接口的包名,
mybatis自动扫描包下边所有mapper接口进行加载
-->
<package name="cn.xxx.mybatis.mapper"/>
</mappers>