gpt4 book ai didi

java - 我可以在不重新部署的情况下更改 Mybatis 中的 sql 查询吗?

转载 作者:行者123 更新时间:2023-11-30 10:38:48 24 4
gpt4 key购买 nike

我们有一个要求,我们应该能够在运行时更改我们使用 mybatis 运行的 sql,而无需 redploying。我在网上寻找答案,但一无所获。

我指的不是动态 sql 功能,我们可以根据某些条件添加/删除子句。我应该能够完全更改 sql。

我们能否从数据库或对象中获取映射器 sql 而不是配置 xml 中提到的映射器 xml。如果可以,我们可以使用一些 REST 调用来更新数据库或对象,下一个运行的 sql 将选择新的 sql。如果需要,我会缓存数据库 sql,这可以提高性能。

这可能吗?我们可以做这样的事情吗?如果在 mybatis 中不可行,是否有任何其他框架可以支持这一点?

最佳答案

如果您使用 Java Api,您可以使用 sql 提供程序,只需将 @SelectProvider 或其他 @...Provider 注释添加到您的映射器接口(interface)方法并创建这些提供程序,从您想要的任何地方获取 sql 查询。像这样:

@SelectProvider(type = EntitySqlProvider.class, method =  "buildSelectQuery")
List<T> find();

Provider 类不需要实现或扩展任何东西。您只需创建一个返回字符串的方法。但是,嗯,这不适用于 xml 配置

关于java - 我可以在不重新部署的情况下更改 Mybatis 中的 sql 查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39572367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com