Spring - Mybatis从XML重新加载片段

问题描述 投票:0回答:1

我有一个使用JRebel(7)和Spring-Mybatis(1.3.1)的WebApp

当我在AppServer(Tomcat 8)运行时更改XML映射器文件中的sql statement时,更新的SQL确实由框架执行。

<select ... >

如果我在XML文件中更改sql fragment,则在我重新启动应用程序服务器之前,更改不会反映在执行的查询中。

<sql ... >

有没有办法通过配置或Java调用从文件重新加载Sql fragment

java mybatis spring-mybatis
1个回答
0
投票

我找到了一种方法......

在我的AppConfig中,我将提供带有prototype范围的SqlSessionFactory的bean作为范围 - 然后它在每个请求上重新创建bean,并且缓存被破坏。这当然是非常低效的;但是当你处理一个SQL片段时,它在Developer PC上是一个很好的解决方法:

@Bean
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public SqlSessionFactory sqlSessionFactory() throws Exception {
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.