您好,欢迎来到划驼旅游。
搜索
您的当前位置:首页使用Hibernate操作实体对象

使用Hibernate操作实体对象

来源:划驼旅游
实验二 使用Hibernate操作实体对象 实验目的:

 熟悉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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务