Hibernate 中的增删改查

public class Test2 {

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        testGetAndLoad();
        //testUpdate1();
        //testUpdate2();
        //testDelete1();
        //testDelete2();
    }
    /**
     * 根据id读取一个对象
     */
    private static void testGetAndLoad() {
        Configuration conf = new Configuration().configure();        
        SessionFactory sf = conf.buildSessionFactory();        
        
        Session session = sf.openSession();
        
        //Student stu1 = (Student)session.get(Student.class, 1);
        //System.out.println(stu1);
        //System.out.println(stu1.getName());
        
        Student stu2 = (Student)session.load(Student.class, 2);
        System.out.println(stu2.getName());
        
        session.close();
        sf.close();
    }
    
    /**
     * 新建对象设置值并修改
    */
    
    private static void testUpdate1() throws Exception{
        Configuration conf = new Configuration().configure();        
        SessionFactory sf = conf.buildSessionFactory();        

        Student stu = new Student();
        stu.setId(2);
        stu.setName("林平之2");
        //stu.setGender("男");
        //stu.setBirthdate(new Date());
        //stu.setDesc("....");

        Session session = sf.openSession();
         Transaction tx=null;
         try {
             tx = session.beginTransaction();
             session.update(stu);
             tx.commit();
         }
         catch (Exception e) {
             if (tx!=null) tx.rollback();
             throw e;
         }
         finally {
             session.close();
         }

        sf.close();
    }
    
    
    /**
     * 先查出对象再更新
     */
    
    private static void testUpdate2() throws Exception{
        Configuration conf = new Configuration().configure();        
        SessionFactory sf = conf.buildSessionFactory();        

        Session session = sf.openSession();
         Transaction tx=null;
         try {
             tx = session.beginTransaction();
             Student stu = (Student)session.get(Student.class, 2);
             stu.setGender("男");
             session.update(stu);
             tx.commit();
         }
         catch (Exception e) {
             if (tx!=null) tx.rollback();
             throw e;
         }
         finally {
             session.close();
         }

        sf.close();
    }
    
    
    /**
     * 新建对象并设置id然后删除
     */
    
    
    private static void testDelete1() throws Exception{
        Configuration conf = new Configuration().configure();        
        SessionFactory sf = conf.buildSessionFactory();        

        Session session = sf.openSession();
         Transaction tx=null;
         try {
             tx = session.beginTransaction();
             Student stu = new Student();
             stu.setId(2);
             session.delete(stu);
             tx.commit();
         }
         catch (Exception e) {
             if (tx!=null) tx.rollback();
             throw e;
         }
         finally {
             session.close();
         }

        sf.close();
    }
    
    
    /**
     * 先查后删
     */
    
    
    private static void testDelete2() throws Exception{
        Configuration conf = new Configuration().configure();        
        SessionFactory sf = conf.buildSessionFactory();        

        Session session = sf.openSession();
         Transaction tx=null;
         try {
             tx = session.beginTransaction();
             Student stu = (Student)session.load(Student.class, 1);
             session.delete(stu);
             tx.commit();
         }
         catch (Exception e) {
             if (tx!=null) tx.rollback();
             throw e;
         }
         finally {
             session.close();
         }

        sf.close();
    }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值