当前位置:   article > 正文

【Hibernate】——CRUD操作_hibernate的crud

hibernate的crud

前言

    在进入Hibernate的学习之后,接触了CRUD操作这个概念,开始不知道,觉得没啥,后面又遇到了,百度了一下,CRUD是指在计算机处理是的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。


Create


  1. public void testSave1(){
  2. Session session = null;
  3. Transaction tx = null;
  4. User user =null;
  5. try{
  6. session = HibernateUtils.getSession();
  7. tx= session.beginTransaction();
  8. //Transien状态
  9. user = new User();
  10. user.setName("张三");
  11. user.setPassword("123");
  12. user.setCreateTime(new Date());
  13. user.setExpireTime(new Date());
  14. //persistent 状态
  15. session.save(user);
  16. user.setName("李四");
  17. tx.commit();
  18. }catch(Exception e) {
  19. e.printStackTrace();
  20. if (tx != null) {
  21. tx.rollback();
  22. }
  23. }finally{
  24. HibernateUtils.closeSession(session);
  25. }
  26. //detached状态
  27. user.setName("王五");
  28. try{
  29. session = HibernateUtils.getSession();
  30. session.beginTransaction();
  31. //将detached状态的对象重新
  32. session.update(user);
  33. session.getTransaction().commit();
  34. }catch(Exception e){
  35. e.printStackTrace();
  36. session.getTransaction().rollback();
  37. }finally{
  38. HibernateUtils.closeSession(session);
  39. }
  40. }


Retrieve


  1. public void testLoad2(){
  2. Session session = null;
  3. try{
  4. session = HibernateUtils.getSession();
  5. session.beginTransaction();
  6. //采用Load查询不存在的数据,
  7. User user =(User)session.load(User.class,"5645456456");
  8. System.out.println(user.getName());
  9. session.getTransaction().commit();
  10. }catch(Exception e){
  11. e.printStackTrace();
  12. session.getTransaction().rollback();
  13. }finally{
  14. HibernateUtils.closeSession(session);
  15. }
  16. }


Update


  1. public void testUpdate1(){
  2. Session session = null;
  3. try{
  4. session = HibernateUtils.getSession();
  5. session.beginTransaction();
  6. User user = (User)session.load(User.class,"402895c85987170301598717048a0001");
  7. user.setName("周六");
  8. session.update(user);
  9. session.getTransaction().commit();
  10. }catch(Exception e){
  11. e.printStackTrace();
  12. session.getTransaction().rollback();
  13. }finally{
  14. HibernateUtils.closeSession(session);
  15. }
  16. }


Delete


  1. public void testDelete2(){
  2. Session session = null;
  3. try{
  4. session = HibernateUtils.getSession();
  5. session.beginTransaction();
  6. //手动钩子Deteched对象
  7. User user =new User();
  8. user.setId("402895c85987443501598744369d0001");
  9. session.delete(user);
  10. session.getTransaction().commit();
  11. }catch(Exception e){
  12. e.printStackTrace();
  13. session.getTransaction().rollback();
  14. }finally{
  15. HibernateUtils.closeSession(session);
  16. }
  17. }


在Hibernate中Session的一些常用方法:


  1. Query query = session.createQuery(hql):利用hql查询语句查询;
  2. Criteria critera = session.createCriteria(Class clazz);
  3. Transaction tx = session.beginTransaction(); //开始事务;tx.commit()提交事务;
  4. session.close();//关闭Session,此后被session管理的持久化对象变为脱管状态;
  1. session.save(Object obj); //添加
  2. session.update(Object obj); //更新
  3. session.delete(Object obj); //删除
  4. Object obj = session.get(Class clazz,Serialiazble id); //根据主键查找记录并返回;
  5. Object obj = session.load(Class clazz,Serializable id); //和get方法效果一样,但是是懒加载,即在不使用他之前他不会返回对象;

总结

    hibernate的CRUD操作主要是通过session这个持久化管理器来进行操作,还是比较简单的。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/870870
推荐阅读
相关标签
  

闽ICP备14008679号