我们会用DAO类去操作数据库,比如说下面的PersonDAO类,包含对person表的增删查。你们是怎么对这些DAO类写单元测试的呢?该不会直连测试库跑test case吧。
public class PersonDAO {
private final DAO dao;
public PersonDAO(DAO dao) {
this.dao = dao;
}
public Person getById(int personId) throws SQLException {
String sql = "select person_id,last_name,first_name,address,city from person where person_id=?";
return dao.queryForObject(sql, ps -> ps.setInt(1, personId),
rs -> Person.builder()
.personId(rs.getInt("person_id"))
.firstName(rs.getString("first_name"))
.lastName(rs.getString("last_name"))
.address(rs.getString("address"))
.city(rs.getString("city")).build());
}
public int add(Person person) throws SQLException {
String sql =