mybatis配置文件有哪些需要注意的事项

  介绍

这篇文章将为大家详细讲解有关mybatis配置文件有哪些需要注意的事项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

配置

mybatis-config。xml文件的头部格式我们就不说了,直接从属性开始介绍,配置为最顶层节点,其余所有的属性都必须嵌套在配置内,MyBatis配置文件的顶层节点如下:

& lt; properties> & lt;/properties> & lt; !——属性——比;   & lt; settings> & lt;/settings>& lt; !——设置——比;   & lt; typeAliases> & lt;/typeAliases> & lt; !——配置别名——比;   & lt; typeHandlers> & lt;/typeHandlers> & lt; !——类型处理器——比;   & lt; objectFactory> & lt;/objectFactory> & lt; !——对象工厂——比;   & lt; plugins> & lt;/plugins> & lt; !——插件——比;   & lt;环境默认=啊白4? lt; !——环境配置——比;   & lt;环境id=啊白4? lt; !——环境变量——比;   & lt; transactionManager> & lt;/transactionManager> & lt; !——事务管理器——比;   & lt; dataSource> & lt;/dataSource> & lt; !——数据源——比;   & lt;/environment>   & lt;/environments>   & lt; databaseIdProvider> & lt;/databaseIdProvider> & lt; !——数据库厂商标识——比;   & lt; mappers> & lt;/mappers> & lt; !——映射器——在

可以看到配置内的全部顶层节点只有9个,下面我们就一个个来分析一下

属性下面是一个相对完整的属性配置

& lt; !——配置资源——比;   & lt;属性资源=皒xx/xxx.properties"祝辞& lt; !——属性——比;   & lt;属性名=癹dbc.driver"值=https://www.yisu.com/zixun/" db.properties "/>   属性         <属性url=" http://xxxx ">   <属性名=" jdbc。司机“价值=" db.properties "/>   

上面我特意分开写,就是怕引起大家的误解,因为资源和url只允许存在一个,不能同时配置两个属性,可以看到源码中的解析过程:

 mybatis配置文件有哪些需要注意的事项

同时配置了资源和url会抛出异常。

配置了属性属性之后,在xml其他配置文件中可以直接通过$ {xxx}来读取。

属性配置有三种方式,资源或者url指定,直接配置在子节点属性中,另一种就是上一篇提到的,直接代码中去其他地方读取属性文件,然后传入建造方法。

那么这三种方式既然都能配置,假如属性配置重复了,优先级是怎么样的呢?

<强>属性优先级

属性配置的属性如果重复,优先级如下:
1,第一优先:在代码中直接通过属性传入建造方法。
2,第二优先:通过资源或者url读取到的属性文件中属性。
3,第三优先:直接在物业内的子标签财产内定义的属性。

在实际开发中,建议是只使用一种,使用多种方式混合的话会给后期维护造成困难,而且不同类型的配置属性混合时可读性也不好。

设置

设置是mybatis中最复杂,也是最重要的内容之一。当然这里说的复杂并不是说配置方式复杂,而是设置能配置的东西非常多,一些很核心的功能都是通过设置标签配置的。

下面是一个完整的属性配置示例:

& lt; settings> & lt; !——设置——比;   & lt;设置名称=癱acheEnabled"值=https://www.yisu.com/zixun/"假"/>   <设置name=" lazyLoadingEnabled " value=" false "/>   <设置name=" aggressiveLazyLoading " value=" false "/>   <设置name=" multipleResultSetsEnabled " value=" false "/>   <设置name=" useColumnLabel " value=" false "/>   <设置name=" useGeneratedKeys " value=" false "/>   <设置name=" autoMappingBehavior " value="没有"/>   <设置name=" defaultExecutorType " value="简单"/>   <设置name=" defaultStatementTimeout " value=" 100 "/>   <设置name=" safeRowBoundsEnabled " value=" false "/>   <设置name=" mapUnderscoreToCamelCase " value=" false "/>   <设置name=" localCacheScope " value="会议"/>   <设置name=" jdbcTypeForNull " value=" VARCHAR "/>   <设置name=" lazyLoadTriggerMethods " value="="/>   <设置name=" defaultScriptingLanguage " value=" org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDriver "/>   <设置name=" callSettersOnNulls " value=" false "/>   <设置name=" logPrefix " value=" LONELY_WOLF_ "/>   <设置name=" logImpl " value=" SLF4J "/>   

mybatis配置文件有哪些需要注意的事项