一、实验目的:
熟悉Java对象在Hibernate下的状态(临时,持久,托管)
理解Session的缓存。
掌握Session接口的用法
save()
load()和get()
update()
delete()
二、实验内容:
1.使用Session的接口保存Java对象;
2.使用Session的接口查询Java对象;
3.使用Session的接口更新Java对象;
4.使用Session的接口删除Java对象;
5.在代码中标注出Java对象的状态。
三、实验设备及软件环境:
hibernate 5.2.10
Eclipse
四、实验过程及结果:
部分代码:
添加主代码:
public static void main(final String[] args) throws Exception {
//添加java对象
Session session = getSession();
Transaction ts=null;
User user=new User();
user.setName("陈琦");
user.setGender("男");
user.setAge(23);
user.setBirthday(Date.valueOf("1998-08-13"));
ts=session.beginTransaction();
System.out.println("添加");
session.save(user);
ts.commit();
session.close();
}
查找主代码:
public static void main(final String[] args) throws Exception {
//查询java对象
Session session2 = getSession();
Transaction ts2 = null;
ts2=session2.beginTransaction();
User cq = session2.get(User.class, 24);
System.out.println("查询");
System.out.println("请输入姓名:"+cq.getName());
ts2.commit();
session2.close();
}
}
更改主代码:
public static void main(final String[] args) throws Exception {
//更新java对象
Session session3=getSession();
Transaction ts3=null;
System.out.println("更新");
ts3=session3.beginTransaction();
User user=new User();
user=session3.get(User.class, 24);
user.setAge(18);
session3.update(user);
ts3.commit();
session3.close();
}
}
删除主代码
public static void main(final String[] args) throws Exception {
//删除java对象
Session session4=getSession();
Transaction ts4=null;
System.out.println("删除");
ts4=session4.beginTransaction();
User user=new User();
user.setId(24);
session4.delete(user);
ts4.commit();
session4.close();
}
}
结果:
增加:
查找:
更改:
删除:
五、总结:
通过这次实验,我熟悉了Java对象在Hibernate下的状态(临时,持久,托管),理解了Session的缓存,掌握了Session接口的用法。