说明一下,本例子源码选自<<Hibernate 开发及整合应用大全>>,略有改动.
这节要讲的是如何用Hibernate实现增删修查四个功能,本例在第一节的基础上加上一个DAOImp.java
源码如下:

/** *//**
* @author tiger Create Date 2006-11-25
*
* Blog: tiger.ptuhaiwai.com
*/
package persistence;
import java.util.List;
import model.Student;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;

public class DAOImp ...{
static Session session = null;
static SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
/**//*--------------创建新的学生对象--------------*/
public static void createStu(Student stu)...{
try ...{
session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
session.save(stu);
tx.commit();
} catch (HibernateException e) ...{
// TODO: handle exception
e.printStackTrace();
}finally
...{
session.close();
}
}

/**//*--------------删除学生对象---------------*/
public static void delStu(String id)...{
try ...{
session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Student stu =(Student)session.get(Student.class, id);
session.delete(stu);
tx.commit();
} catch (HibernateException e) ...{
// TODO: handle exception
e.printStackTrace();
}finally...{
session.close();
}
}

/**//*------------------修改学生对象----------------------*/
public static void mdfStu(Student stu)...{
try ...{
session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
session.update(stu);
tx.commit();
} catch (HibernateException e) ...{
// TODO: handle exception
e.printStackTrace();
}finally...{
session.close();
}
}

/**//*-------------------取得所有的学生列表------------------------*/
public static List getAllStu()...{
List list = null;
try ...{
session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Query q = session.createQuery("from Student");
list = q.list();
tx.commit();

} catch (HibernateException e) ...{
// TODO: handle exception
e.printStackTrace();
}finally...{
session.close();
}
return list;
}
}
之后给出测试样例:

/** *//**
* @author tiger Create Date 2006-11-25
*
* Blog: tiger.ptuhaiwai.com
*/
package BusinessManager;
import java.util.List;
import model.Student;
import persistence.DAOImp;

public class Test ...{

public static void main(String[] args) ...{
/**//*------创建新的学生对象------*/
//Student stu = new Student();
//stu.setName("tiger");
//stu.setPwd("123456");
//stu.setEmail("2005.tiger@gmail.com");
//stu.setAge(24);
//DAOImp.createStu(stu);
/*--------修改学生对象--------*/
//List list = DAOImp.getAllStu();
// Student u = (Student)list.get(0);
// u.setAge(88);
// u.set???任意
// DAOImp.mdfStu(u);
/**//*--------删除学生对象-------*/
List list = DAOImp.getAllStu();
Student u = (Student)list.get(0);
DAOImp.delStu(u.getId());
}
}
本节结束.
第三节要讲的如何用四个功能做一个分页查询功能
本文通过一个具体实例展示了如何使用 Hibernate 框架实现基本的增删改查操作,并提供了完整的 Java 代码实现。
1728

被折叠的 条评论
为什么被折叠?



