关于查询的时候 输入单引号的问题

通常在根据标题、姓名检索的时候 我们往往会拼接sql 写成 like '%name%'的形式,

但是 如果是单引号 就会形成like '%''的形式,这样 数据库查询的时候就会报错。

如果遇见这样的问题,通常是使用hibernate中的中setString(),setInteger()等方式为sql中的变量复制

例如:

Session session=getSession();
  StringBuilder su=new StringBuilder();
  su.append("SELECT COUNT(1) FROM TB_DUTY T WHERE T.DUTY_NAME=:name ");
  if(id!=0){
   su.append("AND T.DUTY_ID<>");
   su.append(id);
  }
  String result= session.createSQLQuery(su.toString())
   .setString("name", name).uniqueResult().toString();
  releaseSession(session);
  return Integer.parseInt(result);
 }

你可能感兴趣的:(查询)