public class HibernateTest { Session session =null; //在每次执行测试方法前,先执行一次 @Before public void before(){ session = HibernateUtil.getSession(); } //每次执行测试方法后,执行一次 @After public void after(){ HibernateUtil.close(); } //查询所有 @Test public void testFindAll(){ //编写hql语句 Book是类名 区分大小写,相当于select * from t_book; String hql="from Book"; List list = session.createQuery(hql).list(); for(Book b:list){ System.out.println(b.getName()+"----"+b.getAuthor()); } } //条件查询 @Test public void testCondition(){ //可以在类名 后设置别名,如果设置了别名就得使用 String hql="from Book b where b.price>40"; List list = session.createQuery(hql).list(); for(Book b:list){ System.out.println(b.getName()+"----"+b.getAuthor()); } } //传参 @Test public void testParam(){ //可以在类名 后设置别名,如果设置了别名就得使用 String hql="from Book b where b.price>?"; List list = session.createQuery(hql) .setDouble(0, 40)//为占位符设置参数 .list(); for(Book b:list){ System.out.println(b.getName()+"----"+b.getAuthor()); } } //参数通过命名查询 @Test public void testNameParam(){ //命名前 加冒号 String hql="from Book b where b.price>:price"; List list = session.createQuery(hql) .setDouble("price", 40)//为占位符设置参数 .list(); for(Book b:list){ System.out.println(b.getName()+"----"+b.getAuthor()); } } //模糊查询 @Test public void testLike(){ String hql="from Book b where b.name like :name"; List list = session.createQuery(hql) .setString("name", "水%")//为占位符设置参数 .list(); for(Book b:list){ System.out.println(b.getName()+"----"+b.getAuthor()); } } //查询指定列的数据 @Test public void testColumn(){ String hql="select b.name,b.author from Book b"; List