一开始使占位符形式:
String sql="select * from table where 字段 like '%?%' ";
SQLQuery sqlQuery=session.createSQLQuery(sql);
sqlQuery.setString(0, vlaue);//value是字符串对应第一个?位置插入字段
结果直接GG执行不了,网上说是 '%?%' 的问题,因为存在"需要对字符串拼接然后..
第二种形式:(被坑了这是oracle的方式mysql没有||这个玩意。。。。)
String sql="select * from table where 字段 like '%'||?||'%' ";
执行结果不报错但是得到的数据不对,他将我所有的表的数据全取出来了也就是后
面的限制条件完全没用
第三种形式:
String sql="select * from table where 字段 like CONCAT('%',?,'%') ";
这样就可以了