我的程序用了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了 !就这么简单