一、模糊查询
package edu.aeon.hibernate.test; import java.util.List; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import edu.aeon.aeonutils.hibernate.getsessionutil.GetSessionUtil; import edu.aeon.beans.Student; /** * [说明]:模糊查询 * @author aeon * */ public class TestLikeQuery { @Test public void testHqlQueryByPage() { Transaction transaction=null; Session session=null; try { session = GetSessionUtil.getSession(); transaction=session.getTransaction(); transaction.begin(); // 查询学生姓名中有aeon的学生 String hql="from Student where stuname like:stuname"; List<Student> stuList= session.createQuery(hql) .setString("stuname", "%aeon%") .list(); for (Student stu : stuList) { System.out.println(stu); } System.out.println("hql查询!"); transaction.commit(); } catch (Exception e) { e.printStackTrace(); //事物的回滚操作 transaction.rollback(); }finally{ /* * 其实这种getCurrentSession获取到的session我们无需手动关闭 * 因为当事务提交或者回滚的时候已经做了关闭session操作 * 而用openSession获取到的session我们一定要用手动去关闭 * */ if(null!=session){ session.close(); } } } }
数据库中的数据记录截图:
查询结果截图:
二、唯一查询
package edu.aeon.hibernate.test; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import edu.aeon.aeonutils.hibernate.getsessionutil.GetSessionUtil; import edu.aeon.beans.Student; /** * [说明]:唯一查询 * @author aeon * */ public class TestUniqueQuery { @Test public void testHqlQueryByPage() { Transaction transaction=null; Session session=null; try { session = GetSessionUtil.getSession(); transaction=session.getTransaction(); transaction.begin(); // 查询学生id=2的学生信息 String hql="from Student where stuId=:stuid"; Student student = (Student) session.createQuery(hql) .setInteger("stuid", 2).uniqueResult(); System.out.println(student); System.out.println("hql查询!"); transaction.commit(); } catch (Exception e) { e.printStackTrace(); //事物的回滚操作 transaction.rollback(); }finally{ /* * 其实这种getCurrentSession获取到的session我们无需手动关闭 * 因为当事务提交或者回滚的时候已经做了关闭session操作 * 而用openSession获取到的session我们一定要用手动去关闭 * */ if(null!=session){ session.close(); } } } }
查询结果截图: