当前位置: 代码迷 >> J2EE >> 关于dao中处理错误的有关问题
  详细解决方案

关于dao中处理错误的有关问题

热度:68   发布时间:2016-04-22 01:11:38.0
关于dao中处理异常的问题
我的程序用了hibernate框架,在写dao中的每一个方法中都要用到hibernate,而每一次用到hibernate的时候都要捕获异常,例如:
Java code
public static void save(User user) {    Session session = null;    Transaction transaction = null;    try {        session = HibernateUtils.getSession();        transaction = session.beginTransaction();        session.save(user);        transaction.commit();    } catch (Exception e) {        e.printStackTrace();        if (transaction != null) {            transaction.rollback();        }    } finally {        HibernateUtils.closeSession(session);    }}public static User get(String id) {    if (id == null || id.length() == 0) {        return null;    }    Session session = null;    Transaction transaction = null;    User user = null;    try {        session = HibernateUtils.getSession();        transaction = session.beginTransaction();        user = (User) session.get(User.class, id);        transaction.commit();    } catch (Exception e) {        e.printStackTrace();        if (transaction != null) {            transaction.rollback();        }    } finally {        HibernateUtils.closeSession(session);    }    return user;}


不知道能不能处理一下,不要每次都写这些异常捕获的句子,而又能处理这些异常?

------解决方案--------------------
不用表态方法, 写个模板的设计模式 的类, 
把 这些异常处理放到某个方法中,

可以看下 spring 的 与数据库打交道的 template 类
------解决方案--------------------
楼主写的这些程序 都还是学习阶段的一些测试程序 ,单单都是为学习hibernate这个框架的程序
如果你不写这些异常可以 就使用throws关键字把他抛给hibernate处理 
如果你学习了spring以后 spring整合了hibernate框架以后 dao层的代码就没必要这么麻烦了
直接用spring给你提供的模板就行了
比如 添加一个用户
public void addUser(User user){
 getHibernateTemplate().save(User);
}
就OK了 !就这么简单
  相关解决方案