public void testLoad(){ Configuration cfg=new AnnotationConfiguration(); SessionFactory sf=cfg.configure().buildSessionFactory(); Session session=sf.openSession(); session.beginTransaction(); //形参1:class-将取出的数据当做什么对象来存取 //形参2:serializable-主键 //从数据库中取出主键为1(这里是id为1)的数据,并封装成一个JAVA对象 Teacher teacher=(Teacher)session.load(Teacher.class, 1); System.out.println(teacher.getName()+" "+teacher.getTitle()); session.getTransaction().commit(); session.close(); sf.close(); }结果:取出了数据库中ID为1的数据,并且将Name和Title打印出来
示例:
@Test public void testGet(){ Configuration cfg=new AnnotationConfiguration(); SessionFactory sf=cfg.configure().buildSessionFactory(); Session session=sf.openSession(); session.beginTransaction(); //形参1:class-将取出的数据当做什么对象来存取 //形参2:serializable-主键 //从数据库中取出主键为1(这里是id为1)的数据,并封装成一个JAVA对象 Teacher teacher=(Teacher)session.get(Teacher.class, 1); System.out.println(teacher.getName()+" "+teacher.getTitle()); session.getTransaction().commit(); session.close(); sf.close(); }结果:取出了数据库中ID为1的数据,并且将Name和Title打印出来
class cn.edu.hpu.model.Teacher_$$_javassist_1是class cn.edu.hpu.model.Teacher的子类,是一个代理对象(代理类),重写了父类的方法,检查有么有发出sql语句,没有就发出。javassist是专门生成动态代理的类库,也就是能直接生成二进制码的类库,没有编译等过程。
转载请注明出处:http://blog.csdn.net/acmman