是否允许在SQL中使用别名 默认是允许: 当设置别名后会根据SQL的别名和属性名进行映射:
<setting name="useColumnLabel" value="true"/>
用于当字段名和属性名自动映射不匹配时 发生的动作:
<setting name="autoMappingUnknownColumnBehavior" value="FAILING"/>
默认:NONE什么都不发生,没有映射上就不赋值
WARNING 发送一条级别为WARN的目志
FAILING 当映射不上直接报错
通常不会去设置
设置默认执行器:
setting name="defaultExecutorType" value="REUSE"
SIMPLE 就是普通的执行器;默认
REUSE 执行器会重用预处理语句(PreparedStatement);
BATCH 执行器不仅重用语句还会执行批量更新。
设置查询的超时时间 单位:秒:
setting name="defaultStatementTimeout" value="1"
是否将数据库的蛇形命名映射为驼峰命名:
setting name="mapUnderscoreToCamelCase" value="true"
当往数据库插入数据某个数据值为null时映射到数据库的类型:
setting name="jdbcTypeForNull" value="OTHER"
默认:OTHER
mysql是可以识别出OTHER类型的
如果是oracle一定要设置成NULL,ORACLE识别不出OTHER类型
VARCHAR 当属性值为空时为数据库设置一个空字符中
日志:
<!--加入mybatis框架中实现了多个日志框架, 可以使用logImpl来设置使用的日志框架
如果使用了slf4j可以不用设置该配置,因为slf4j本身就是负责选择使用哪种日志实现框架的
如果没有使用日志门面,使用了多个目志实现框架,最好设置你需要的
<setting name="logImpl" value="SLF4J"/>
数据库:
数据库厂商表示:mybatis提供用于跨数据库平台
type="DB_VENDOR"利用数据库的厂商名称来区分
步骤:
1.为需要跨越数据库设置不同的厂商名称
2.编写不同的SQL
databaseId必须登录厂商的value
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="ora"/>
</databaseIdProvider>
别名:
根据包设置包里面所有的类的别名:会将类的名字作为别名(忽略大小写)
还可以为包里面的类单独设置个性别名:@Alias
(默认的以类的名字作为别名就会失效)
除了可以设置自定义的类的别名以外,mybatis还内置很多常见类型的别名
<typeAliases>
<package name="cn.test.pojo"/>
</typeAliases>
设置映射器
<!--设置映射器-->
<mappers>
<!--4种映射方式
1.<mapper resource 设置MapperXml 这种方式适用根据statementId进行操作
2.<mapper class 设置Mapper接口 这种方式适用接口绑定的方式和注解
3.<mapper url 使用磁盘的绝对路径(基本不用)
4.<package 根据包设置包下面所有的Mapper接口,这种方式适用接口绑定的方式和注解
<!--<mapper resource="EmpMapper. xml"/>-->
<!--<mapper class="cn.test.mapper.EmpMapper"></mapper>-->
<package name="cn.test.mapper"/>
<mappers>