zoukankan      html  css  js  c++  java
  • ibatis dynamic条件语句问题

    ibatis 的dynamic这样写会有问题,如果有条件成立,出现where 后面会少一个and,这是因为ibatis的dynamic语句会默认把第一个条件成立的predend字段去掉,比如如果下面两个条件都成立,那么最终的语句会变成where status=status的值 and name=name的值,

    where

    <dynamic   prepend=" ">                       
                          <isNotEmpty   prepend="and"   property="status">  
                              status   =   #status#      
                          </isNotEmpty>  
                           
                          <isNotEmpty   prepend="and"   property="name">   
                              name   =   #name#      
                          </isNotEmpty>                   
                             
    </dynamic>  

    所以必须得写成

    where

    <dynamic   prepend="and">                       
                          <isNotEmpty   prepend="and"   property="status">  
                              status   =   #status#      
                          </isNotEmpty>  
                           
                          <isNotEmpty   prepend="and"   property="name">   
                              name   =   #name#      
                          </isNotEmpty>                   
                             
    </dynamic

  • 相关阅读:
    mysql 案例 ~ insert插入慢的场景
    mysql 原理 ~ DDL之在线DDL
    mongodb系列~ 索引详解
    mysql案例 ~ mysql磁盘分析与调优
    mysql 查询优化 ~ explain与索引失效
    mysql 原理 ~ 死锁问题
    mysql 原理 ~ 索引通说
    es集群数据库~基本安装
    mysql 案例 ~ pt-xtrabackup 使用
    mysql 原理 ~ 事务隔离机制
  • 原文地址:https://www.cnblogs.com/secbook/p/2655228.html
Copyright © 2011-2022 走看看