作为一个菜鸟,在现在的学习中经常出错,观看视频之后自己编写代码还是很吃力的一件事情,但是这不能打消我的信心,只有自己一次次的更正错误面对困难和解决困难,才会成长,甚至我知道,自己的很多错误是让别人看起来和好笑的,只是,这是必须要经历的,我还是坚信,一切都会在未来的某一天好起来的,只要你每天都在努力。
下面的这个单元测试类,就是今天出错的一个,主要是因为Session和Transaction这些重复的代码提出去之后,在方法中还是没有替换成代表各自的对象名,导致出现了空指针异常。
package qau.edu.ren;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TestHQLDemo_1 {
private Session session;
private Transaction tr;
@Before
public void init() {
// 获取Session;
session = new Configuration().configure().buildSessionFactory()
.openSession();
// 开始事务;
tr = session.beginTransaction();
}
@After
public void destroy() {
// 提交事务;
tr.commit();
// 关闭Session;
session.close();
}
@Test
public void testpageHql() {
// 建立查询语句;
String hql = "from Employee";
// 获取query对象;
Query query = session.createQuery(hql);
// 设置分页查询;
int pageNo = 3;
int pageSize = 5;
List<Employee> emps = query.setFirstResult((pageNo - 1) * pageSize)
.setMaxResults(pageSize).list();
System.out.println(emps);
}
}