java – 如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1840字,纯文字阅读大概需要3分钟。
内容图文
![java – 如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?](/upload/InfoBanner/zyjiaocheng/767/568a41a1bd79455db213fbd0769ec930.jpg)
MyBatis Spring Boot Starter documentation列出了可以在application.properties文件中设置的属性,该列表包括:
configuration: A MyBatis Configuration bean. About available properties see the MyBatis reference page
从那里开始并不是很明显,但我认为它的建议是你可以添加这样的东西:
mybatis.configuration.jdbcTypeForNull=VARCHAR
这似乎有效;当然,如果我将VARCHAR更改为枚举JdbcType的有效值,我会收到错误.但是,它似乎也没有恢复我的设置.
当我使用调试器时,我可以看到在Configuration.setJdbcTypeForNull()之前调用MybatisProperties.setConfiguration(),这意味着使用默认值(JdbcType.OTHER)而不是我试图设置的值.
我误解了这个功能应该如何使用,或者这是一个错误?是否有其他人设置这样的配置值?在其他地方,我只能看到使用XML文件的示例,如果可能的话,我宁愿避免使用它们.
嗯,这很尴尬
我放弃尝试在application.properties中使用配置属性,并使用我试图避免的XML配置,但刚才,在这里看到一些有用的建议,我回到我的代码,从XML配置回mybatis.configuration.jdbcTypeForNull = NULL并重新运行我的测试,这在以前的相同条件下肯定是失败的,但现在它通过了.
我不知道之前有什么不同 – 调试我看到了与上面提到的相同的行为 – 配置bean似乎在启动期间将jdbcTypeForNull参数设置回OTHER,但是当在查询期间访问它时它再次为NULL.我会在这里留下这个问题,以防它是一个竞争条件,它会在以后再次失败,但是现在我的问题似乎已经神秘地消失了.
解决方法:
如果您要使用mybatis.configuration.jdbcTypeForNull,请记住不要同时指定configLocation属性.否则,您的设置将被删除为默认值.
正如Spring引导所做的那样,在Configuration.setJdbcTypeForNull()非常正确之前调用MybatisProperties.setConfiguration().因为spring boot尝试将配置设置为MybatisProperties但发现其成员配置为null,因此spring boot将实例化一个新配置并立即将其分配给MybatisProperties.之后,spring boot将尝试将所有mybatis.configuration.*分配给MybatisProperties的此成员.
如果要使用XML配置mybatis,则需要指定< setting name =“jdbcTypeForNull”value =“VARCHAR”/>在元素< settings />下如example.
这肯定会奏效.
内容总结
以上是互联网集市为您收集整理的java – 如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?全部内容,希望文章能够帮你解决java – 如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。