HQL语句参数的绑定

【例】雇员信息

HQL语句参数的绑定_第1张图片

第一种方式:查询薪水高于6000的雇员信息
session=HibernateSessionFactory.getSession();
			String hql="from Employee e where e.emp_salary>6000";
			Query query=session.createQuery(hql);
			Listlist=query.list();
			for(Employee emp:list){
				System.out.println(emp.getEmp_id()+"  "+emp.getEmp_name()+"  "+emp.getEmp_sex()+  
                        "  "+emp.getEmp_birth()+"  "+emp.getEmp_job()+"  "+emp.getEmp_salary());  
			}

运行结果:

HQL语句参数的绑定_第2张图片

第二种方式:利用顺序占位符“?”查询薪水高于6000的雇员信息
session=HibernateSessionFactory.getSession();
			String hql="from Employee e where e.emp_salary>?";
			Query query=session.createQuery(hql);
			query.setDouble(0, 6000);
			Listlist=query.list();
			for(Employee emp:list){
				System.out.println(emp.getEmp_id()+"  "+emp.getEmp_name()+"  "+emp.getEmp_sex()+  
                        "  "+emp.getEmp_birth()+"  "+emp.getEmp_job()+"  "+emp.getEmp_salary());  
			}

运行结果:

HQL语句参数的绑定_第3张图片

第三种方式:利用引用占位符“:parameter”查询薪水高于6000的雇员信息
session=HibernateSessionFactory.getSession();
			String hql="from Employee e where e.emp_salary>:sal";
			Query query=session.createQuery(hql);
			query.setDouble("sal", 6000);
			Listlist=query.list();
			for(Employee emp:list){
				System.out.println(emp.getEmp_id()+"  "+emp.getEmp_name()+"  "+emp.getEmp_sex()+  
                        "  "+emp.getEmp_birth()+"  "+emp.getEmp_job()+"  "+emp.getEmp_salary());  
			}

运行结果:

HQL语句参数的绑定_第4张图片

你可能感兴趣的:(hibernate)