MVC对于数据库的规范
M:Module - 业务模块 -> 操作数据库 DAO
一张表,对应一个实体类,再对应一个DAO
再对应一个测试类, 测试Dao中的所有方法
操作数据库基本功能
– 根据id删除记录
– 根据id修改记录
– 插入新的记录
– 根据id查询记录
– 查询所有记录 - 条件, 分页
– 查询总记录条数 - 条件
以Emp为例:
public class EmpDao {
// 后期 template 的创建 交给 Spring框架来做
private JdbcTemplate template = new JdbcTemplate(DruidUtils.getDataSource());
// 插入新的记录
public void insertEmp(Emp emp) {
String sql = "insert into emp(empno,ename,job,sal,comm,hiredate) values(?,?,?,?,?,?)";
template.update(sql, emp.getEmpno(), emp.getEmpno(), emp.getJob(), emp.getSal(), emp.getComm(), emp.getHiredate());
}
// 根据id修改记录
public void updateEmp(Emp e) {
String sql = "update emp set ename=?,sal=?,job=?,comm=?,hiredate=? where empno=?";
template.update(sql, e.getEname(), e.getSal(), e.getJob(), e.getComm(), e.getHiredate(), e.getEmpno());
}
// 根据id删除记录
public void deleteEmpById(int id) {
String sql = "delete from emp where empno = ?";
template.update(sql, id);
}
// 根据id查询记录
public Emp findEmpById(int id) {
String sql = "select * from emp where empno=?";
List<Emp> list = template.query(sql, new BeanPropertyRowMapper<>(Emp.class), id);
// 如果id查不出来, 结果会不会有影响
if (list == null || list.size() == 0) {
return null;
}
return list.get(0);
}
// 查询所有记录
public List<Emp> findAllEmp() {
String sql = "select * from emp";
List<Emp> list = template.query(sql, new BeanPropertyRowMapper<>(Emp.class));
return list;
}
// 查询总记录条数
public long findCount() {
String sql = "select count(*) from emp";
Long count = template.queryForObject(sql, Long.class);
return count;
}
}