我的程序用了hibernate框架,在写dao中的每一个方法中都要用到hibernate,而每一次用到hibernate的时候都要捕获异常,例如: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;
}
不知道能不能处理一下,不要每次都写这些异常捕获的句子,而又能处理这些异常?
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 类
如果你不写这些异常可以 就使用throws关键字把他抛给hibernate处理
如果你学习了spring以后 spring整合了hibernate框架以后 dao层的代码就没必要这么麻烦了
直接用spring给你提供的模板就行了
比如 添加一个用户
public void addUser(User user){
getHibernateTemplate().save(User);
}
就OK了 !就这么简单