HQL实现模糊查询两种传参方式

其实各个方法的实质都是一样的,只不过传递参数的方法稍微有点区别 

第一种: 

	public List getUsers(String id){
		List list=new ArrayList();
		String hql="from User as user where user.id like '%"+id+"%'";
		factory=DBHelper.getSessionFactory();
		Session session=factory.openSession();
		Transaction transaction=session.beginTransaction();
		Query query=session.createQuery(hql);  
		list=query.list();
		transaction.commit();
		session.close();
		return list;
	}

第二种:

	public List getUsers(String id){
		List list=new ArrayList();
		String hql="from User as user where user.id like :id";
		factory=DBHelper.getSessionFactory();
		Session session=factory.openSession();
		Transaction transaction=session.beginTransaction();
		Query query=session.createQuery(hql);
		 query.setString("id", "%"+id+"%");    
		list=query.list();
		transaction.commit();
		session.close();
		return list;
	}



你可能感兴趣的:(hibernate,hql,hibernate)