模糊查询防注入


     关于模糊查询防注入,目前有两种解决方案:1.是采用: name like '%' || #name# || '%' 这种方式, 但是使用的时候,考虑到索引问题, 上面这种语句是不会走索引的, 有时候会遇到检索不到数据奇怪的现象,所以不推荐。2.是在代码层做控制 :
  1. if (!StringUtil.isEmpty(this.companyName)) {  
  2.     table.setCompanyName("%" + this.companyName + "%");  
  1. <sql id="condition_where">  
  2.     <isNotEmpty property="companyName" prepend=" and ">  
  3.         t1.company_name like #companyName#  
  4.     isNotEmpty>  
  5. sql>  
推荐使用第二种方案。

你可能感兴趣的:(解决方案,java)