mybatis反向工程生成的xml做联表查询两个表ID一致报错

用mybatis反向工程生成mapper.xml文件的时候,需要联表查询,两个表主键都是ID,直接查询的时候会报错:

Column 'id' in where clause is ambiguous

打开xml文件查看sql代码:


    
      
        
          
            
              
                
                  and ${criterion.condition}
                
                
                  and ${criterion.condition} #{criterion.value}
                
                
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                
                
                  and ${criterion.condition}
                  
                    #{listItem}
                  
                
              
            
          
        
      
    
  

在查看了POJOExample.java文件后,发现criterion.singleValue是一个boolean类型,true代表是一个查询条件,也就是EqualTo,like等查询。

既然是ID不明确,那么就在xml文件里面加判断条件


	and t_supplier.id = #{criterion.value}


	and ${criterion.condition} #{criterion.value}

至于为什么是'id =',因为在addCriterion的时候添加的是addCriterion("id =", value, "id");

你可能感兴趣的:(mybatis反向工程生成的xml做联表查询两个表ID一致报错)