开发者社区 > 数据库 > 数据仓库 > 正文

云原生数据仓库AnalyticDB PostgreSQL版结合使用时无法生效怎么办?

云原生数据仓库AnalyticDB PostgreSQL版在mybastis的mapper.xml中用if标签,和postgresql结合使用时无法生效?

展开
收起
夹心789 2024-06-04 08:18:42 28 0
1 条回答
写回答
取消 提交回答
  • postgresql是可以和mybastis的mapper.xml中用if标签一起使用的。可能要check下语法或者配置之类的导致的影响,您可以尝试使用CASE WHEN,来替代if,prepare语句需要SQL pattern保持不变 您这样写可能会导致SQL改变了,可以尝试类似这样构建SQL 保持SQL pattern不变看看SELECT field1, field2
    FROM tablename
    WHERE (filterCondition IS NULL OR filter = filterCondition);
    可以尝试类似这样构建SQL 保持SQL pattern不变看看,我是从避开使用if标签角度出发的。可能就算使用if标签通过某些配置也能解决这个问题。上面说的解法是推测if标签在filterCondition为NULL和不为NULL时生成不同的prepared statement导致出了问题。因此想要绕过去。 ,此回答整理自钉群“云原生数据仓库AnalyticDB PostgreSQL版交流群”

    2024-06-04 21:38:34
    赞同 展开评论 打赏

阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 相关电子书

    更多
    从技术到架构,云原生全面加速应用现代化 立即下载
    安永云原生创新驱动力实践探索 立即下载
    云原生加速数字创新的新质生产力 立即下载