【问题标题】:How should we handle SQL exceptions in the DAO layer?我们应该如何处理 DAO 层的 SQL 异常?
【发布时间】:2015-02-06 10:05:41
【问题描述】:

我们应该如何使用 Hibernate 在 DAO 层处理 SQLExceptions?

【问题讨论】:

    标签: sql hibernate exception


    【解决方案1】:

    创建class EmployeeDaoImpl.java

    package com.mypro.module.emp.dao;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    import org.apache.commons.dbutils.DbUtils;
    
    import com.mypro.module.emp.exception.EmployeeException;
    import com.mypro.module.emp.model.Employee;
    
    public class EmployeeDaoImpl extends JdbcDaoSupportImpl implements EmployeeDao {
    
        @Override
        public int save(Employee employee) throws EmployeeException {
            // TODO Auto-generated method stub
            String sql = "INSERT INTO EMPLOYEE VALUES(?,?,?)";
            Connection conToUse = null;
            PreparedStatement ps = null;
            int status = 0;
            try {
                conToUse = getConnection();
                ps = conToUse.prepareStatement(sql);
                ps.setInt(1, employee.getEmpNo());
                ps.setString(2, employee.getEmpName());
                ps.setLong(3, employee.getEmpSal());
                status = ps.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                throw new EmployeeException(
                        "%%% Exception occured in EmployeeDao save() %%% " + e);
            } finally {
                DbUtils.closeQuietly(ps);
            }
            return status;
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 2021-08-20
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      相关资源
      最近更新 更多