春季-Mybatis从XML重新加载片段

时间:2018-09-07 06:04:45

标签: java mybatis spring-mybatis

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

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

<select ... >

如果我在XML文件中更改了一个SQL fragment,则更改不要反映在执行的查询中,直到重新启动应用程序服务器为止。

<sql ... >

是否可以通过配置或Java调用从文件中重新加载Sql fragment

2 个答案:

答案 0 :(得分:0)

我找到了一种方法...

在我的AppConfig中,我将为SqlSessionFactory提供prototype范围的bean的作用域-然后在每个请求上重新创建该bean,并且缓存被破坏。这当然是非常低效的;但这是在开发SQL片段时在Developer PC上的一个不错的解决方法:

@Bean
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public SqlSessionFactory sqlSessionFactory() throws Exception {
    ...
}

答案 1 :(得分:0)

HotswapAgent现在https://github.com/HotswapProjects/HotswapAgent有一个新的MyBatis插件,它可以处理MyBatis配置的重新加载。

相关问题