熟悉Java对象在Hibernate下的状态(临时,持久,托管) 理解Session的缓存。 掌握Session接口的用法
save()
load()和get() update() delete 实验步骤: 1. 使用Session的接口保存Java对象;
public void save_project(){
Configuration cfg = new Configuration().configure(); SessionFactory sf = cfg.buildSessionFactory(); Session session = null; Transaction ts = null; try {
session = sf.openSession(); ts = session.beginTransaction();
User user = new User(); //user 处于临时态 user.setName(\"fishBaby_lab2\"); user.setPassword(\"123\"); user.setAge(22);
session.save(user); ts.commit();
e.printStackTrace(); ts.rollback();
//save之后为持久态
} catch (Exception e) {
}finally{
}
}
if(session!=null){ }
session.close();
2. 使用Session的接口查询Java对象;
public void query_project(){
Configuration cfg = new Configuration().configure(); SessionFactory sf = cfg.buildSessionFactory();
Session session = null; Transaction ts = null; try {
session = sf.openSession(); ts = session.beginTransaction();
User user = (User)session.get(User.class, 2); //此时user处于if (user != null) { }
ts.commit();
// TODO: handle exception if(session != null){ }
}
session.close();
System.out.println(user.toString());
持久态
}
} catch (Exception e) { }finally{
3. 使用Session的接口更新Java对象;
public static void main(String[] args) {
Configuration cfg = new Configuration().configure(); SessionFactory sf = cfg.buildSessionFactory();
Session session = null; Transaction ts = null; try { }
session = sf.openSession(); ts = session.beginTransaction();
User user = (User)session.get(User.class, 2);//此时user处于持user.setName(\"FishBaby_update---\"); session.update(user);
/*user = (User)session.get(User.class, 2); System.out.println(user.toString()); */
ts.commit();
e.printStackTrace(); ts.rollback(); if(session!=null){ }
session.close();
久态
}
} catch (Exception e) {
}finally{
4. 使用Session的接口删除Java对象;
public void delete_project(){
Configuration cfg = new Configuration().configure(); SessionFactory sf = cfg.buildSessionFactory(); Session session = null; Transaction ts = null; try{
session = sf.openSession(); ts = session.beginTransaction();
User user = (User)session.get(User.class, 4);
}
session.delete(user);//此时user处于瞬时态
ts.commit();
e.printStackTrace(); ts.rollback(); if(session!=null){ } }
session.close();
}catch (Exception e) {
}finally{
5. 在代码中标注出Java对象的状态。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务