首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mybatis——全局配置SqlMapConfig.xml

SqlMapConfig.xml文件是Mybatis的全局配置文件,它包括properties(属性)、settings(全局配置参数)、typeAliases(类型别名)、typeHandlers(类型处理器)、objectFactory(对象工厂)、plugins(插件)、enviroments(环境集合属性对象)、mappers(映射器)。其中enviroments还包括enviroment(环境子属性对象)、transactionManager(事务管理)、dataSrouce(数据源)这几个子属性,下面分别进行详细介绍。

Properties

首先,全局配置文件的内容如下:

这个全局配置文件的内容目前比较少,随着功能的增加会逐渐变得复杂,这个时候,我们需要把一些专用性的配置属性提取出来,组成单独的配置文件,方便以后的维护。这里,我们在config目录下新建一个db.properties的配置文件,把数据库相关的配置信息提取到它里面,内容如下:

然后,我们利用properties属性把新增的db.properties的配置文件进行加载,后面的数据库属性就可以直接使用db.properties中属性名进行引用即可。如下:

我们还可以在properties属性里面定义property,不过通常不这样使用。

这里需要注意属性的加载顺序和优先级

在properties元素体内定义的属性首先被读取

然后再读取properties元素中resource或url指定配置文件(xx.properties)的属性,并覆盖同名属性

最后读取parameterType传递的属性并覆盖已读取的同名属性。

建议:

不要在properties元素体内添加属性

在xx.properties文件中定义的属性命名要有一定的特殊性,比如命名为:xx.xxx

Settings

Mybatis框架在运行时可以调整一些运行参数。比如开启二级缓存、延迟加载等。全局参数会影响mybatis的行为。遵循:需要的时候再去设置,否则默认即可的原子。

typeAliases

类型别名用在很多地方。比如说在mapper.xml中,定义了很多statement,statement需要parameterTypp指定输入参数类型、需要resultType指定输出结果的映射类型,如果类型全路径太长,不方便开发,可以定义别名,这样在mapper.xml中便可以通过别名来使用,方便开发。Mybatis内置了许多java类型的别名,比如intßàjava.lang.Integer,但是pojo类型需要我们自定义。

首先看下单个别名。别名定义:

别名引用:

批量定义别名,只需要指定包名称,然后自动使用用包下的类的类名称使用即可。批量定义别名:

然后再进行别名引用

typeHandler

类型处理器,mybatis中通过类型处理器来完成jdbc类型和java类型的转换。通常mybatis自带的类型处理器够用了,不需要单独定义。

mapper

映射器,用来加载映射文件,常见的一次加载一个映射文件的方法如下:

也可以通过mapper接口来加载,配置文件和mapper接口类文件需要同名且放在同一个目录:

实体文件位置如下:

多个mapper的加载,通过package批量加载,推荐使用这种方式,方便集中管理。如下:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180202G1915L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券