我们在使用JDBC操作数据库的时候,例如如下程序:
/**
根据ID查找User
*/
public User getUserById(int id) {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
User user = null;
try {
conn = ConnectionFactory.getConnection();
String sql = "select id,username,birthday,money from user where id=?";
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
rs = ps.executeQuery();
while (rs.next()) {
user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("username"));
user.setBirthday(rs.getDate("birthday"));
user.setMoney(rs.getFloat("money"));
}
} catch (SQLException e) {
//这块大家经常会直接打印出以下语句,这样做会对后期维护造成很大困难
e.printStackTrace();
}finally{
JdbcUtil.close(rs, ps, conn);
}
return user;
}
此时我们应该自己建个运行时异常然后抛出之..这样在服务层操作的时候如果出错了的话..会一目了然..会知道是在dao层出现了错误..