java - Java MyBatis Freemarker 动态 SQL
问题描述
我在 Spring Boot 应用程序中使用 MyBatis(带有 Freemarker 驱动程序),使用 @Mapper 和 @Select 注释访问查询。
@Mapper
public interface DataRepository {
@Lang(FreeMarkerLanguageDriver.class)
@Select("/sqlMappers/module/findList.ftl")
public List<DomainDto> findItemsMatchingFilter(
@Param("entityId") Long entityId,
@Param("commonSearch") CommonSearch commonSearch);
我有一些特定的查询,我想保存在数据库中并在运行时由 MyBatis 运行(想法是修改查询以动态生成一些 XLSX 报告)。
MyBatis 是否有可能(我想使用它不必担心 sql 注入和其他类似方面)?
谢谢,加布里埃尔
解决方案
所以,用mybatis-freemarker是不可能的。
我想我会将它保存在具有 freemarker 格式的数据库表中,因此我会将它们作为本机查询执行。
业务需求是创建一个小引擎来对数据库执行自定义查询并将它们导出为 excel 文件。
推荐阅读
- typescript - 如何在接口内声明/重用类型
- regex - 正则表达式以任意顺序匹配另一个字符串中的字符
- ruby-on-rails - 如何在 rspec 测试中访问实例变量
- sitecore-form - 将表单字段映射到联系方式
- reactjs - 在 react native 上安装 facebook SDK
- r - 如何根据列表中至少 5 次中有 2 次具有相应信息的列来确定组关联?
- reactjs - 您应该如何使用共享导航组件构建路线?
- vim - 使用 vim 打开目录时,为什么尝试用鼠标选择文本会出现错误“E21:无法进行更改,'modifiable' 已关闭”?
- wordpress - 有没有办法在 Wordpress 中创建像 Bit.ly 这样的短链接生成器页面?我正在寻找资源,而不是免费代码
- python-3.x - mitmproxy python 导入:没有名为“实体”的模块