赞
踩
在进入Hibernate的学习之后,接触了CRUD操作这个概念,开始不知道,觉得没啥,后面又遇到了,百度了一下,CRUD是指在计算机处理是的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。
- public void testSave1(){
- Session session = null;
- Transaction tx = null;
- User user =null;
- try{
- session = HibernateUtils.getSession();
- tx= session.beginTransaction();
-
- //Transien状态
- user = new User();
- user.setName("张三");
- user.setPassword("123");
- user.setCreateTime(new Date());
- user.setExpireTime(new Date());
-
- //persistent 状态
- session.save(user);
- user.setName("李四");
- tx.commit();
-
- }catch(Exception e) {
- e.printStackTrace();
- if (tx != null) {
- tx.rollback();
- }
- }finally{
- HibernateUtils.closeSession(session);
- }
-
- //detached状态
- user.setName("王五");
- try{
- session = HibernateUtils.getSession();
- session.beginTransaction();
- //将detached状态的对象重新
- session.update(user);
- session.getTransaction().commit();
- }catch(Exception e){
- e.printStackTrace();
- session.getTransaction().rollback();
- }finally{
- HibernateUtils.closeSession(session);
- }
- }

- public void testLoad2(){
- Session session = null;
- try{
- session = HibernateUtils.getSession();
- session.beginTransaction();
- //采用Load查询不存在的数据,
- User user =(User)session.load(User.class,"5645456456");
- System.out.println(user.getName());
- session.getTransaction().commit();
- }catch(Exception e){
- e.printStackTrace();
- session.getTransaction().rollback();
- }finally{
- HibernateUtils.closeSession(session);
- }
- }

- public void testUpdate1(){
- Session session = null;
- try{
- session = HibernateUtils.getSession();
- session.beginTransaction();
- User user = (User)session.load(User.class,"402895c85987170301598717048a0001");
- user.setName("周六");
- session.update(user);
- session.getTransaction().commit();
- }catch(Exception e){
- e.printStackTrace();
- session.getTransaction().rollback();
- }finally{
- HibernateUtils.closeSession(session);
- }
- }

- public void testDelete2(){
- Session session = null;
- try{
- session = HibernateUtils.getSession();
- session.beginTransaction();
- //手动钩子Deteched对象
- User user =new User();
- user.setId("402895c85987443501598744369d0001");
- session.delete(user);
- session.getTransaction().commit();
- }catch(Exception e){
- e.printStackTrace();
- session.getTransaction().rollback();
- }finally{
- HibernateUtils.closeSession(session);
- }
- }

在Hibernate中Session的一些常用方法:
- Query query = session.createQuery(hql):利用hql查询语句查询;
- Criteria critera = session.createCriteria(Class clazz);
- Transaction tx = session.beginTransaction(); //开始事务;tx.commit()提交事务;
- session.close();//关闭Session,此后被session管理的持久化对象变为脱管状态;
- session.save(Object obj); //添加
- session.update(Object obj); //更新
- session.delete(Object obj); //删除
- Object obj = session.get(Class clazz,Serialiazble id); //根据主键查找记录并返回;
- Object obj = session.load(Class clazz,Serializable id); //和get方法效果一样,但是是懒加载,即在不使用他之前他不会返回对象;
-
hibernate的CRUD操作主要是通过session这个持久化管理器来进行操作,还是比较简单的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。