Hibernate从零开始_02_操作对象

  1. 新增

    public void saveTest(){
      Configuration configuration = new Configuration().configure();
      ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();  
      SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
      Session session = sessionFactory.openSession();
      Transaction transaction = session.beginTransaction();
      
      //新增
      TbUser  user = new TbUser();
      user.setName("zhangsan");
      user.setAge(26L);
      user.setCity("ChinaBeijing");
      session.save(user);
      
      transaction.commit();
      session.close();  
      sessionFactory.close(); 
     }
  2. 删除

    public void deleteTest(){
      Configuration configuration = new Configuration().configure();
      ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();  
      SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
      Session session = sessionFactory.openSession();
      Transaction transaction = session.beginTransaction();
      
      //删除操作
      TbUser  user = new TbUser();
      user.setId(1L);
      session.delete(user);
      
      transaction.commit();
      session.close();  
      sessionFactory.close(); 
     }
  3. 修改

    public void updateTest(){
      Configuration configuration = new Configuration().configure();
      ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();  
      SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
      Session session = sessionFactory.openSession();
      Transaction transaction = session.beginTransaction();
      
      //修改操作
      TbUser  user = new TbUser();
      user.setId(1L);
      user.setName("lisi");
      user.setAge(15L);
      user.setCity("ChinaHeBei");
      session.update(user);
      
      //当id为空时执行新增id不为空时执行修改
      //session.saveOrUpdate(user);
      
      //当ID为空时执行插入,当id不为空时先执行查询看查出来的对象是否有改变,有改变执行update没改变则不执行
      session.merge(user);
      
      transaction.commit();
      session.close();  
      sessionFactory.close(); 
     }
  4. 查询

    public void queryTest(){
      Configuration configuration = new Configuration().configure();
      ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();  
      SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
      Session session = sessionFactory.openSession();
      Transaction transaction = session.beginTransaction();
      
      //查询操作
      
      //获取对象查询方式
      TbUser user = new TbUser();
      //user = (TbUser) session.get(TbUser.class, 1L);
      
      //hql查询
      String hql = "from TbUser t where t.id=1";
      Query query = session.createQuery(hql);
      user = (TbUser) query.uniqueResult();
      
      //原生SQL查询方法
      String sql = "select id,name,age,city from tb_user t where t.id=1";
      Query query1 = session.createSQLQuery(sql);
      user = (TbUser) query.uniqueResult();
      
      //Criteria查询方式
      Criteria cr = session.createCriteria(TbUser.class);
      cr.setMaxResults(10);
      List<?> resultList = cr.list(); 
      
      transaction.commit();
      session.close();  
      sessionFactory.close(); 
     }
  5.  

你可能感兴趣的:(Hibernate从零开始_02_操作对象)