您的位置:首页 > 其它

初学Hibernate(2)

2010-04-22 17:32 204 查看
初学Hibernate(2)
复习:
Hibernate的"三个准备,七个步骤":
A:1添加Hibernate库.
2添加配置文件(Hibernate.cfg.xml).
3添加实体类和映射文件(user.hbm.xml).
B:1读取配置文件(Configuration).
Configuration conf = new Configuration().configure();
2 创建SessionFactory对象.
SessionFoctory sf = conf.bulidFactorySession();
3 开启Session.
Session session =sf,openSession();
4开启一个事务(Transaction)
Transaction tr = session.beginTransaction();
5持久化操作.例如增加
User user =new User();
user.setName("asd");
user.serPass("sdsd");
Session.save(user);
6提交Transaction.
Tr.commit();
7关闭Session.
Session.close();

小项目:对数据库操作-------增删查改(CRUD)
Session接口是Hibernate持久化管理的核心,它以Transaction的开始与结束为边界。
Session接口含有增删查改的方法;
1.增:public Serializable save (Object object)throws HibernateExceptions 相当于insert方法。
2.删:public void delete (Object object)throws HibernateException
3.查:public Object get (Class class ,Serializable id) throws HibernateExceptions
4.改:public void update (Object object) throws HibernateExceptions

TestDo{

/**
* @param args
*/

//1.Configuration 读取配置文件
private Configuration conf = new Configuration().configure();
//2.SessionFactory 创建SessionFactory
private SessionFactory sf = conf.buildSessionFactory();

public static void main(String[] args) {
// TODO Auto-generated method stub
//HibTest h1= new HibTest();
//h1.testAdd("text1","text1");
HibTest h2= new HibTest();
User user=h2.testLoad(2);
//h2.testUpdate(user);
// h2.testDelete(user);

}
//添加记录的方法
public void testAdd(String username,String pass){
//3.Session 打开Session
Session session = sf.openSession();
//4.开始一个事物
Transaction tx = session.beginTransaction();
//5. 持久化操作
User user = new User();
user.setUname(username);
user.setUpass(pass);
session.save(user);
//6.提交事物
tx.commit();
//7.关闭 session
session.close();

}
//查找的方法
public User testLoad(int id){
//3.Session 打开Session
Session session = sf.openSession();
//5. 持久化操作
User user = (User)session.get(User.class, id);

//7.关闭 session
session.close();
return user;
}

//删除记录的方法
public void testDelete(User user) throws Exception{
//3.Session 打开Session
Session session = sf.openSession();
Transaction tx =null;
try{
//4.开始一个事物
tx = session.beginTransaction();
//5. 持久化操作
session.delete(user);
//6.提交事物
tx.commit();

}catch(Exception e){
if(tx!=null){
tx.rollback();
}
throw e;
}finally{
//7.关闭 session
session.close();
}
}
//修改数据方法
public void testUpdate(User user) throws Exception{

//3.Session 打开Session
Session session = sf.openSession();Transaction tx=null;
try{
//4.开始一个事物
tx = session.beginTransaction();
//5. 持久化操作
user.setUname("new Name");
session.update(user);
//6.提交事物
tx.commit();

}catch(Exception e){
if(tx!=null){
tx.rollback();
}
throw e;
}finally{
//7.关闭 session
session.close();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: