如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?

戴维·戴夫

MyBatis Spring Boot Starter文档列出了可以在application.properties文件中设置的属性,该列表包括:

配置:MyBatis配置bean。关于可用属性,请参见MyBatis参考页。

从那里不是很明显,但是我认为这表明您可以添加如下内容:

mybatis.configuration.jdbcTypeForNull=VARCHAR

这似乎可行;当然,如果我更改VARCHAR了对于枚举JdbcType无效的值,则会收到错误消息。但是,它似乎也没有改变我的设置。

使用调试器时,可以看到在之前MybatisProperties.setConfiguration()调用,这意味着使用默认值()而不是我尝试设置的值。 Configuration.setJdbcTypeForNull()JdbcType.OTHER

我是否误解了应该如何使用此功能,或者这是一个错误?还有其他人设置这样的配置值吗?在其他地方,我只能看到使用XML文件的示例,如果可能的话,我宁愿避免使用。

好吧,这很尴尬

我放弃了尝试使用中的configuration属性application.properties,而采用了我试图避免的XML配置,但是直到现在,在这里看到一些有用的建议后,我回到了我的代码,将其从XML配置更改为拥有mybatis.configuration.jdbcTypeForNull=NULL并重新运行了我的测试,该测试在以前相同的条件下肯定会失败,但是现在通过了。

我不知道与以前有什么不同-调试时,我看到了与上述相同的行为-配置bean似乎在启动过程中将jdbcTypeForNull参数设置为OTHER,但是在查询期间对其进行访问时,它将再次为NULL。我将在这里留下这个问题,以防万一它是一个竞赛条件,并且稍后又开始失败,但是现在我的问题似乎已经神秘地消失了。

双子座基思

如果要使用mybatis.configuration.jdbcTypeForNull,请记住不要同时指定configLocation属性。否则,您的设置将被清除为默认设置。

正如春季靴子所做的那样,MybatisProperties.setConfiguration()以前所说Configuration.setJdbcTypeForNull()的确实是正确的。由于spring boot尝试设置configuration为,MybatisProperties但发现其成员configuration为null,因此spring boot将实例化一个新Configuration变量并将其MybatisProperties立即分配给它之后,spring boot会尝试将全部分配mybatis.configuration.*给的该成员MybatisProperties

如果要使用XML配置mybatis,则需要<setting name="jdbcTypeForNull" value="VARCHAR"/>在element下指定example<settings/>作为示例

这肯定会工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在我的application.properties文件的Spring Boot应用程序中配置HikariCP?

如何在Spring Boot应用程序中使用配置(properties / yml)文件中的属性?

如何在ReactJs应用程序中读取Spring Boot application.properties?

如何在Spring Boot应用程序中配置PageableHandlerMethodArgumentResolver

如何在应用程序属性中设置文件位置-Spring Boot

Spring Boot应用程序:无法获取application.properties?

根据系统属性在Spring Boot应用程序中设置配置文件

如何在intellij中运行spring boot应用程序?

如何在Spring Boot应用程序中覆盖DefaultListableBeanFactory?

Spring Boot应用程序中特定于环境的application.properties文件

如何在Spring Boot应用程序中设置系统属性

如何使用主要方法访问Spring Boot应用程序中application.properties文件中的值

Spring Boot:如何在Spring Boot应用程序中显示系统目录中的图像?

Spring-Boot应用程序的application- {profile} .properties的父属性

在Spring-Boot应用程序中使用application.yaml配置hystrix命令属性

使用特定的application.properties文件将Spring Boot应用程序部署到Heroku

如何在Spring-boot应用程序中使用配置文件?

Spring Boot应用程序:无法解析application.properties中的占位符?

在Spring Boot应用程序中更改application.properties名称

无法在Spring Boot应用程序的application.properties中获取环境变量

我可以在Spring Boot应用程序中使用xml属性文件而不是application.properties吗?

如何在VSCode中运行Spring Boot Maven项目以及如何配置Spring Boot Web应用程序的基本URL

如何在Spring Boot应用程序中外部化i18n属性文件

无论在何处定义,如何在Spring Boot应用程序中获取有效的Properties?

如何在独立 Tomcat 中运行的 Spring Boot 应用程序中设置 cookie 名称?

如何在Spring Boot应用程序中记录活动配置?

如何在Spring Boot应用程序中配置Embedded MongDB以进行集成测试?

如何在Spring Boot应用程序中配置HikariCP和Dropwizard / Coda-Hale指标

如何在Spring Boot应用程序中为ehCache配置Dropwizard / CodaHale指标?