为了账号安全,请及时绑定邮箱和手机立即绑定

java mysql 模糊查询like脚本 格式问题,求大神搭救!

java mysql 模糊查询like脚本 格式问题,求大神搭救!

慕的地6264312 2018-12-07 02:22:32
1 public List<Student> querySomeStudent(String serachText){ 2 Transaction tx = null; 3 String hql=""; 4 try{ 5 Session session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession(); 6 tx = session.beginTransaction(); 7 hql="from Student where"; 8 StringBuffer hqlsb = new StringBuffer(); 9 hqlsb.append("studentName like ? or "); 10 hqlsb.append("studentNum like ? or "); 11 hqlsb.append("cellNum like ? or "); 12 hqlsb.append("className like ?"); 13 hql+=hqlsb; 14 Query query = session.createQuery(hql).setString(1, "'%serachText%'").setString(2, "'%serachText%'") 15 .setString(3, "'%serachText%'").setString(4, "'%serachText%'");//生成一个Query对象 16 List list= query.list(); 17 tx.commit(); 18 return list; 19 } 20 catch(Exception ex) 21 { 22 ex.printStackTrace(); 23 tx.commit(); 24 return null; 25 } 26 finally 27 { 28 if(tx!=null) 29 { 30 tx=null; 31 } 32 } 33 }
查看完整描述

24 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

@木子火日立: 去查文档 hibernate like(逃

查看完整回答
反对 回复 2018-12-16
?
慕少森

TA贡献2019条经验 获得超9个赞

@laugher_ccc: 

即使不设参数这样:

hql="from Student where studentName like '%"+serachText+"%'";

执行时候,就成这样了:

from Student where studentName like '%'3'%'

查看完整回答
反对 回复 2018-12-16
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

@木子火日立: PreparedStatement的setObject

查看完整回答
反对 回复 2018-12-16
?
浮云间

TA贡献1829条经验 获得超4个赞

@laugher_ccc: %去掉就达不到模糊查询的效果了

查看完整回答
反对 回复 2018-12-16
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

@木子火日立: %去掉试过吗

查看完整回答
反对 回复 2018-12-16
?
慕沐林林

TA贡献2016条经验 获得超9个赞

试过了,不行

查看完整回答
反对 回复 2018-12-16
?
湖上湖

TA贡献2003条经验 获得超2个赞

直接"%"+serachText+"%"

查看完整回答
反对 回复 2018-12-16
?
皈依舞

TA贡献1851条经验 获得超3个赞

@木子三金: 数据库里面去掉是可以的,但在java后台它就自动就拼接成' %'8'%'  

查看完整回答
反对 回复 2018-12-16
?
三国纷争

TA贡献1804条经验 获得超7个赞

@木子火日立: 将'%'8'%' 两个%号内的'去掉试下

查看完整回答
反对 回复 2018-12-16
?
桃花长相依

TA贡献1860条经验 获得超8个赞

已解决

查看完整回答
反对 回复 2018-12-16
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

@木子火日立:where studentName like studentName like

查看完整回答
反对 回复 2018-12-16
?
aluckdog

TA贡献1847条经验 获得超7个赞

@木子火日立: 你写错了,仔细看一下where后面

查看完整回答
反对 回复 2018-12-16
?
HUH函数

TA贡献1836条经验 获得超4个赞

@木子火日立: "'%'+"+serachText+"+'%'"

查看完整回答
反对 回复 2018-12-16
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

from Student where studentName like '%'8'%' 在后台成这样了

查看完整回答
反对 回复 2018-12-16
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

还是-_-!

查看完整回答
反对 回复 2018-12-16
?
波斯汪

TA贡献1811条经验 获得超4个赞

 爱是不行

查看完整回答
反对 回复 2018-12-16
?
慕慕森

TA贡献1856条经验 获得超17个赞

where后面加个空格

查看完整回答
反对 回复 2018-12-16
  • 24 回答
  • 0 关注
  • 1044 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信