我在 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 注入(inject)和其他类似的问题)?
谢谢, 加布里埃莱
最佳答案
所以, 使用 mybatis-freemarker 是不可能的。
我想我会将其保存在 freemarker 格式的数据库表中,因此我会将它们作为 native 查询执行。
业务需求是创建一个小引擎来对数据库执行自定义查询并将其导出为 Excel 文件。
关于Java MyBatis Freemarker 动态 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470813/