hql语句拼接模糊查询

第一种:

@Override
public List<Apply> findByState(String apstate) {
  StringBuffer hql= new StringBuffer();
  hql.append("from Apply app where 1=1");
  if (apstate.length() != 0 && apstate!=null){
    hql.append(" and app.appState like ‘%"+apstate+"%‘");
  }
  List<Apply> applies=(List<Apply>)this.getHibernateTemplate().find(hql.toString());
  return applies;
}

第二种:

@Override
public List<Apply> findByState2(String apstate) {
  String hql= "from Apply app where 1=1";
  if (apstate.length() != 0 && apstate!=null){
    hql=hql+" and app.appState like ‘%"+apstate+"%‘";
  }
  List<Apply> applies=(List<Apply>)this.getHibernateTemplate().find(hql);
  return applies;
}

原文地址:https://www.cnblogs.com/annuush/p/10967083.html

时间: 2024-07-29 20:26:19

hql语句拼接模糊查询的相关文章

hql语句的模糊查询

代码如下: public List<Teacher> findTeacher(String str) { String hql="from Teacher where 1=1"; hql+=" and tname like '%"+str+"%'"+" or tcode like '%"+str+"%'"; Query query=getSession().createQuery(hql); L

hql语句拼接的替换方式

hql语句拼接 String hql = "FROM Topic t WHERE t.forum=? "; List<Object> parameters = new ArrayList<Object>(); parameters.add(forum); if (viewType == 1) { hql += "AND t.type = ?"; parameters.add(Topic.TYPE_BEST); } if(orderBy ==

在JDBC中实现SQL语句的模糊查询

在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * from table where tableid like %id%; JDBC中的sql语句: String sql = "select * from table where tableid like \"%\"?\"%\"";//?为占位符 原文

T-SQL简单查询语句(模糊查询)

1 T-SQL简单查询语句 2 3 简单查询: 4 5 1.最简单查询(查所有数据) 6 select * from 表名: 注:* 代表所有列 7 select * from info 8 9 2.查询指定列 10 select code,name from info 11 12 3.修改结果集的列名 13 select code as '代号',name as '姓名' from info 14 15 4.条件查询 16 select * from info where code='p003

[Hibernate] 通过 properties 类和 hql 语句进行动态查询

//需要保证Emp和EmpProperties中的setter和getter以及属性以及 参数占位符(:eName) 的一致//动态查询 @Test public void test4(){ EmpProperties ep=new EmpProperties(); //set query conditions ep.seteName("%A%"); ep.setStartDate(new Date(383155200000L)); ep.setEndDate(new Date());

sql语句的模糊查询复习及小技巧一个

一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1.%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] WHERE u_name LIKE '%三%' 将会把u_name为"张三","张猫三"."三脚猫","唐三藏"等等有"三&qu

sql语句模糊查询

SQL语句实现模糊查询,有些东西老是既不清楚,现在做个笔记吧. 我们可以在where子句中使用like来达到模糊查询的效果:在Where子句中,可以对datetime.char.varchar字段类型的列用Like子句配合通配符选取那些"很像..."的数据记录,以下是可使用的通配符: %   零或者多个字符 _    单一任何字符(下划线) \     特殊字符 []     在某一范围内的字符,如[0-9]或者[aeth] [^]    不在某范围内的字符,如[^0-9]或者[^ae

mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE

一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条件 suffixOverrides:后缀判断的条件 比如:Java SQL语句如下, select b.* from sys_menu b where 1 = 1 <trim suffix="WHERE" suffixOverrides="AND | OR">

Hibernate写hql语句与不写hql语句的区别?

写hql语句与不写hql语句的区别? 写hql语句:书写HQL语句,所有的查询与投影的设计均使用HQL语句完成. 不写hql语句:没有任何查询语句,所有的查询与投影的设计使用面向对象格式完成. 二者选用的时机: 不写hql语句,有时比较方便,在不考虑复杂的查询的情况下,可以使用,此方法把某些Hibernate的方法封装起来,不灵活. 写hql语句,复杂的业务逻辑,建议使用,灵活方便. 以下通过俩种方法的对比来着重介绍一下hibernate不写hql的一种简单用法. 写hql语句: 具有丰富的灵活