首页 > 代码库 > Hibernate中的CRUD操作

Hibernate中的CRUD操作

1、添加数据操作

    插入数据使用session对象的save()方法完成。

     插入代码:

    @Test
    public void Test1(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        
        Transaction tx = session.beginTransaction();
        
        UserEntity user = new UserEntity();
        user.setName("jack");
        user.setPwd("123");
        user.setScore(98.5f);
        
        session.save(user);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

2、根据id查询数据

    根据id查询数据需要使用session对象的get()方法完成

      查询代码:

  

    @Test
    public void Test2(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * get方法参数说明:
         * 第一个参数:数据表对于的实体类的class
         * 第二个参数:需要查询的id
         */
        UserEntity userEntity =session.get(UserEntity.class, 1);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

3、修改数据操作

    修改数据要分两步完成,第一步:根据id将该数据查询出来。第二步:修改该实体的属性值。第三步:使用session的update()方法进行修改数据。

    代码如下:

    

@Test
    public void Test3(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * update方法参数说明:
         * 第一个参数:数据表对于的实体类
         */
        UserEntity userEntity =session.get(UserEntity.class, 1);
        userEntity.setName("lilei");
        session.update(userEntity);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

四、删除数据操作

    删除数据有两种方式:

      第一种:先将数据查询出来,然后使用session的delete方法进行数据删除。

      代码:

@Test
    public void Test4(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * delete方法参数说明:
         * 第一个参数:数据表对于的实体类
         */
        UserEntity userEntity =session.get(UserEntity.class, 1);
        session.delete(userEntity);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

    第二种:直接new一个实体对象,设置id值,然后调用删除。(不推荐)

    

@Test
    public void Test5(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * delete方法参数说明:
         * 第一个参数:数据表对于的实体类
         */
        UserEntity  userEntity = new UserEntity();
        userEntity.setUid(1);
        session.delete(userEntity);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

 

Hibernate中的CRUD操作