一文弄懂MyBatis配置属性(properties)

1. 在cofiguration标签下添加如下

在这里插入图片描述

2. properties配置文件

在这里插入图片描述

3. 主配置文件中添加数据源的配置

在这里插入图片描述
注意:value的值要对应相同。在dataSource标签下的property的name值(driver、url、username、password)是固定的,不能随意更改名称。

在上述例子中的 username 和 password 将会由 properties 元素中设置的相应值来替换。 driver 和 url 属性将会由 config.properties 文件中对应的值来替换。这样就为配置提供了诸多灵活选择。

4. 为占位符指定一个默认值

注意:只有从 MyBatis 3.4.2 版本开始,你可以为占位符指定一个默认值。
在这里插入图片描述
这个特性默认是关闭的。要启用这个特性,需要添加一个特定的属性来开启这个特性。
在这里插入图片描述

<property name="org.apache.ibatis.parsing.PropertyParser.enable-default-value" value="true"/> <!-- 启用默认值特性 -->

5.在 SqlSessionFactoryBuilder.build() 方法中传入属性值

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, props);

// ... 或者 ...

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, props);

6. 配置属性的优先级

如果一个属性在不只一个地方进行了配置,那么,MyBatis 将按照下面的顺序来加载:

①首先读取在 properties 元素体内指定的属性。
②然后根据 properties 元素中的 resource 属性读取类路径下属性文件,或根据 url 属性指定的路径读取属性文件,并覆盖之前读取过的同名属性。
③最后读取作为方法参数传递的属性,并覆盖之前读取过的同名属性。

因此,通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的则是 properties 元素中指定的属性。

原创文章 154 获赞 48 访问量 8549

猜你喜欢

转载自blog.csdn.net/weixin_41842236/article/details/105597089