目录
之前小咸儿学习了Mybatis,但是只是粗粗的学习了一点知识,所以将自己的一些认知总结下来。
创建
首先需要创建一个简单的mapper文件:mapper文件是一种XML类型的文件。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.EmployeeMapper">
<!--
namespace:名称空间
id:唯一标识
resultType:返回值类型
#{id}:从传递过来的参数中取出id值
-->
<select id="selectEmp" resultType="com.atguigu.mybatis.bean.Employee">
select * from tbl_employee where id = #{id}
</select>
</mapper>
看完一个简单的mapper文件之后,接下来看一下Mybatis的全部配置文件。
- Mybatis的配置文件包含了影响Mybatis行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下:
- configuration配置 :
- properties属性:
<properties></properties>标签
1).mybatis可以使用properties
来引入外部properties
配置文件的内容;
2).resource
:引入类路径下的资源;
3).url:引入网络路径或者磁盘路径下的资源; - settings设置:这是mybatis中极为重要的调整设置,它们会改变mybatis的运行时行为。
设置参数 | 描述 | 有效值 | 默认值 |
---|---|---|---|
cacheEnabled | 该配置影响的所有映射器中配置的缓存的全局开关 | true/false | true |
lazyLoadingEnabled | 延迟加载的全局开关,当开启时,所有关联对象都 会延迟加载。特定关联关系中可通过设置fetchType属性来覆盖该项目的开关 | true/false | false |
useColumnLabel | 使用列标签代替列名。不同的驱动在这方面会有不同 的表现,具体可参考相关驱动文档或通过测试这两种 不同的模式来观察所用驱动的结果。 | true/false | true |
defaultStatementTimeout | 配置超时时间,他决定驱动等待数据库响应的秒数 | Any positive integral | Not Set(null) |
mapUnderscoreToCamelCase | 是否开启自动驼峰命令规则映射,即从经典数据库列名A_Column到经典Java属性名aCloumn的类似映射 | true/false | false |