慕的地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%'");//生成一個(gè)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貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
@laugher_ccc:?
即使不設(shè)參數(shù)這樣:
hql="from Student where studentName like '%"+serachText+"%'";
執(zhí)行時(shí)候,就成這樣了:
from Student where studentName like '%'3'%'

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
@木子三金: 數(shù)據(jù)庫里面去掉是可以的,但在java后臺(tái)它就自動(dòng)就拼接成' %'8'%' ?了

慕運(yùn)維8079593
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
@木子火日立:where?studentName like studentName like

繁花不似錦
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
from Student where studentName like '%'8'%'?在后臺(tái)成這樣了
添加回答
舉報(bào)
0/150
提交
取消