通常在根据标题、姓名检索的时候 我们往往会拼接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);
}