我现在需要做一个东西
其中涉及到用hibernate一个模糊查询
比如,user表,映射到一个Pojo名字叫user
里面有5个属性name,birthday,telephonenumber,address,email
现在需要做个查询,要求从页面传入这5个属性,做多个值的联合模糊查询,如果某个属性是空的,那这个属性在查询当中就是不作限制,搜寻所有的值
比如,页面输入,name="王",其他4项都是空
那么就搜索,名字当中含有“王”字的所有人,比如王军,李王军,李军王
我的思路
第一,写一个HQL语句
SELECT * FROM user
WHERE user.name LIKE string1
AND user.birthday LIKE string2
AND user.telephonenumber LIKE string3
AND address LIKE string4
AND email LIKE string5
第二,对页面传入的值做判断
如果某项为空,则这一项的string 值为通配符%
如果不为空,则在页面传入的值前后都加上通配符%
然后运行HQL语句
小弟我新学,水平还比较差
不知我的思路可行否,或者有什么问题存在,或者有什么更好的思路
各位大侠
尤其是专家们多多指教
[b]问题补充:[/b]
QBC是啥
不懂哈,请详细说明
Criteria我查了些资料,都说得不明不白的,实在是没搞懂
[b]问题补充:[/b]
另外
我知道我的HQL写得好像SQL一样
实在是不太搞得清楚HQL语法跟SQL语法有什么差别
如果高手们有空也请根据这个实例说明一下
[b]问题补充:[/b]
关于volecity
感谢兄弟的建议,但是
第一俺不会用,需要另外学,增加了项目时间
第二这个项目没打算用模板,如果用的话可能是freemarker,但还是不用为佳
所以这个方案在此项目中只好不考虑了
[b]问题补充:[/b]
关于数量和速度
俺是打算分页的,要另外写分页的类,所以没有写在这个问题里面,到时候关于分页只怕还有问题请教
另QBC的话,我的搜索里面某些需要联表查询的,当然这一个是不用的,看了很多资料,都没有涉及QBC在联表方面的用法,这也是我没有用Criteria的原因
[b]问题补充:[/b]
为什么会慢
怎么提高速度
请ThinkingInAll 教我
[b]问题补充:[/b]
多谢大家解答
但是好像只能采纳一个答案
不知道能不能像CSDN一样平均散分