SqlMapConfig.xml相关属性
- properties(属性)
- settings(全局配置参数)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
- environment(环境子属性对象,包含transactionManager-事务管理和dataSource(数据源))
- mappers(映射器)
1.properties
是一个配置元素属性,该元素用于将内部元素外部化,即通过外部配置来动态代理内部定义的属性。例如数据库连接相关属性。在这里插入代码片
1)在当前路径classpath下定义db.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
2)在SqlMapConfig.xml中引用该文件,如下:
<configuration>
<properties resource="db.properties"></properties>
......
3)配置相关信息
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
2.settings(全局配置参数)
略…
3. typeAliases(类型别名)
说明:元素用于为配置文件中的java类型配置一个简短的名字,即设置别名,其意义是减少全限定类名的冗余。
注意:放的顺序不对可能会报错。
在SqlMapConfig.xml配置
<typeAliases>
<typeAlias alias="user" type="com.mybatis.po.User"/>
</typeAliases>
在UserMapper.xml中,user未定义别名之前为com.mybatis.po.User
<insert id="addUser" parameterType="user" keyProperty="id"
useGeneratedKeys="true">
insert into user(username,birthday,sex,address)
values(#{username},#{birthday},#{sex},#{address})
</insert>
当需要创建的别名过多时,即po类过多,可以批量创建别名,别名即为类名,大小写均可。
<typeAliases>
<package name="com.mybatis.po"/>
</typeAliases>
4.typeHandlers(类型处理器)
略…
5.objectFactory(对象工厂)
略…
6.plugins(插件)
说明:注册自定义拦截器,实现Interceptor接口。然后再配置文件中设置拦截。
<plugins>
<plugin interceptor="com.mybatis.utils.MyInterceptor"></plugin>
</plugins>
7.environments(环境集合属性对象)
说明:利用environment,可以配置多个数据库。当environments的default实行等于environment的id属性时,说明是调用该数据库。
8.mappers(映射器)
1)使用于相对路径的资源
<mappers>
<mapper resource="com/mybatis/mapper/UserMapper.xml" />
</mappers>
2)使用完全限定路径
<mapper url="file:///D:\Program Files\workspace\mybatis\src\com\mybatis\mapper\UserMaper.xml">
3)使用Mapper接口类路径
<mapper class="com.mybatis.mapper.UserMapper.xml">
注意:使用此方法要求mapper接口名和mapper映射文件名称相同,且放在同一目录中。
4)注册指定包下的所有mapper接口
<mappers>
<package name="com.mybatis.mapper"/>
</mappers>
注意:使用此方法要求mapper接口名和mapper映射文件名称相同,且放在同一目录中。