• 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);
                }
            }
        }
    
    }
  • 相关阅读:
    淘宝网-六属性
    软件架构之黑板模式
    06需求工程-软件建模与分析阅读笔记之六
    05需求工程-软件建模与分析阅读笔记之五
    04需求工程-软件建模与分析阅读笔记之四
    03需求工程-软件建模与分析阅读笔记之三
    第二次冲刺团队绩效评估
    第二次冲刺站立会议07
    第二次冲刺站立会议06
    第二次冲刺站立会议05
  • 原文地址:https://www.cnblogs.com/zhangbaowei/p/4853406.html
Copyright © 2020-2023  润新知