在之前的博客中我们知道,SqlMapConfig.xml用来连接数据库和指定mapper的作用,但是除了他们还有什么作用呢?
其他属性如下:
下面介绍几个重要的:
properties:属性
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties。
如下:
注意: MyBatis 将按照下面的顺序来加载属性:
在 properties 元素体内定义的属性首先被读取。
然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
建议:
不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。
在properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX
typeAliases:别名·
这样写两个都可以。
在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
<package>为批量别名
<typeAlias>为单个设置别名
除此之外mybatis还支持一些:
Mapper:映射配置
下面有三个标签 url,class,resource,但是只能出现一个。
使用class需要mapper接口和 mapper映射文件的名称相同且在同一目录下。class内写接口的类目录如com.me.mybatis.mapper.UserMapper
使用url,需要指定文件的绝对路径,太麻烦而且没有意义
<package>同理为批量映射配置,包里面内容与使用class相同,条件与使用class相同
当表的数量少的时候用resource多的时候用package