zoukankan      html  css  js  c++  java
  • 3、Hibernate实现简单的CRUD操作

    CRUD :

    Create 增加   Retrieve 读取(重新获得数据)  Update 更新   Delete  删除

    PersonDao的实现如下:

    package com.baowei.dao;
    
    import java.util.List;
    
    import org.hibernate.Session;
    
    import com.baowei.entity.Person;
    import com.baowei.utils.HibernateUtil;
    
    public class PersonDao {
    
        public void save(Person person) {
            Session session = null;
            try {
                session = HibernateUtil.openSession();
                session.getTransaction().begin();
                session.save(person);
                session.getTransaction().commit();
            } catch (Exception e) {
                if (session != null)
                    session.getTransaction().rollback();
                throw new RuntimeException(e);
            } finally {
                if (session != null) {
                    HibernateUtil.close(session);
                }
            }
    
        }
    
        public void update(Person person) {
            Session session = null;
            try {
                session = HibernateUtil.openSession();
                session.getTransaction().begin();
                session.update(person);
                session.getTransaction().commit();
            } catch (Exception e) {
                if (session != null)
                    session.getTransaction().rollback();
                throw new RuntimeException(e);
            } finally {
                if (session != null) {
                    HibernateUtil.close(session);
                }
            }
    
        }
    
        public void delete(Person person) {
            Session session = null;
            try {
                session = HibernateUtil.openSession();
                session.getTransaction().begin();
                session.delete(person);
                session.getTransaction().commit();
            } catch (Exception e) {
                if (session != null)
                    session.getTransaction().rollback();
                throw new RuntimeException(e);
            } finally {
                if (session != null) {
                    HibernateUtil.close(session);
                }
            }
    
        }
    
        public Person findById(int id) {
            Session session = null;
            Person person = null;
            try {
                session = HibernateUtil.openSession();
                session.getTransaction().begin();
                person = (Person) session.get(Person.class, id);
                session.getTransaction().commit();
                return person;
            } catch (Exception e) {
                throw new RuntimeException(e);
            } finally {
                if (session != null)
                    session.getTransaction().rollback();
                if (session != null) {
                    HibernateUtil.close(session);
                }
            }
        }
    
        public List findAll() {
            Session session = null;
            List persons = null;
            try {
                session = HibernateUtil.openSession();
                session.getTransaction().begin();
                persons = session.createQuery("from Person").list();
                // persons = session.createSQLQuery("select * from person").list();
                session.getTransaction().commit();
                return persons;
            } catch (Exception e) {
                if (session != null)
                    session.getTransaction().rollback();
                throw new RuntimeException(e);
            } finally {
                if (session != null) {
                    HibernateUtil.close(session);
                }
            }
        }
    
        public List page(int firstResult, int maxResults) {
            Session session = null;
            List persons = null;
            try {
                session = HibernateUtil.openSession();
                session.getTransaction().begin();
                persons = session.createQuery("from Person")
                        .setFirstResult(firstResult).setMaxResults(maxResults)
                        .list();
                // persons = session.createSQLQuery("select * from person").list();
                session.getTransaction().commit();
                return persons;
            } catch (Exception e) {
                if (session != null)
                    session.getTransaction().rollback();
                throw new RuntimeException(e);
            } finally {
                if (session != null) {
                    HibernateUtil.close(session);
                }
            }
        }
    
    }
  • 相关阅读:
    JS基础_自增和自减
    计算机组成原理
    SyntaxHighlighter
    10个经典的C语言面试基础算法及代码
    知名互联网公司面试题
    计算机网络基础知识(笔试题)
    面试准备之常见上机题目搜罗
    小米2013年校园招聘笔试题-简单并查集
    2014华为上机试题
    C++学习笔记
  • 原文地址:https://www.cnblogs.com/zhangbaowei/p/4853406.html
Copyright © 2011-2022 走看看