遨游Hibernate之二

本文通过一个具体实例展示了如何使用 Hibernate 框架实现基本的增删改查操作,并提供了完整的 Java 代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 说明一下,本例子源码选自<<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());
    }


}

 本节结束.

第三节要讲的如何用四个功能做一个分页查询功能

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值