博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate模糊查询-Restrictions.ilike & Expression.like
阅读量:4350 次
发布时间:2019-06-07

本文共 1369 字,大约阅读时间需要 4 分钟。

Criteria criteria = session.createCriteria(TaDiagnoseSystem.class);

   //增加查询条件
   if(StringUtils.isNotEmpty(systemName)){
//    criteria.createCriteria("taDiagnoseSystemSubs").add(Restrictions.ilike("systemName", systemName, MatchMode.ANYWHERE));
    criteria.createCriteria("taDiagnoseSystemSubs").add(Expression.like("systemName", "%"+systemName+"%"));
   }

 

 

今天的项目中在用
Hibernate3.0进行
模糊查询的时候,出现
中文乱码,在网上查了好久资料,终于解决了,现在把整理后的贴出来。
Hibernate中实现
模糊查询,可有以下三种方式: 
第一种方式:QBC查询 
String name = "", info = ""; 
if (sub != null && sub.getSubname() != null) { 
name = sub.getSubname(); 
if (sub != null && sub.getSubinfo() != null) { 
info = sub.getSubinfo(); 
Criteria cr = session.createCriteria(Subject.class); 
cr.add(Expression.like("subname","%"+name+"%")); 
cr.add(Expression.like("subinfo","%"+info+"%")); 
第二种方式:HQL查询语句 
String hql = "from Subject as s where s.subname like :name and s.subinfo like :info"; 
// 调用session的获得数据列表方法,传递HQL查询语句 
String  subnamevalue="要查询的
中文值";
String   sql="";
sql   = "from Pfapp  where name like :subname "; 
Query query = session.createQuery(sql); 
query.setString("subname","%"+subnamevalue+"%");
System.out.println("*********"+sql); 
注:Subject为数据库表subject映射的类;它有相应的属性subname、subinfo及相应的get和set方法;sub为Subject的一个实例化对象。
另外说明的是:如果你不写对象名称,直接写字段,那么
hibernate就按照数据库字段进行查找 
如果你写   (对象名.对象属性),那么
hibernate就按照ormapping中的映射字段进行查找

转载于:https://www.cnblogs.com/chensuozhang/p/5128303.html

你可能感兴趣的文章
go web framework gin group api 设计
查看>>
linux下使用dd命令写入镜像文件到u盘
查看>>
001---进程
查看>>
视频人脸检测——OpenCV版(三)
查看>>
php获取来访者在搜索引擎搜索某个关键词,进入网站
查看>>
物联网架构成长之路(8)-EMQ-Hook了解、连接Kafka发送消息
查看>>
2018-2019-1 20165234 20165236 实验二 固件程序设计
查看>>
IDEA的GUI连接数据库写入SQL语句的问题总结
查看>>
Xpath在选择器中正确,在代码中返回的是空列表问题
查看>>
leecode第一百九十八题(打家劫舍)
查看>>
【BZOJ 1233】 [Usaco2009Open]干草堆tower (单调队列优化DP)
查看>>
07-3. 数素数 (20)
查看>>
写一个欢迎页node统计接口Py脚本(邮件,附件)-py
查看>>
计算两个日期之间的天数
查看>>
山东省第六届蓝桥杯 ///标题:三羊献瑞//c/c++组
查看>>
Unity火炬之光进度
查看>>
Android关于buildToolVersion与CompileSdkVersion的区别
查看>>
Typecho——简介及安装
查看>>
Linux企业级开发技术(7)——libevent企业级开发之锁和线程
查看>>
解决XCODE配置LLVM环境出现的问题
查看>>