javaweb—jsp
数据层DAO层拆分
DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。
其实就是将我们在 servlet中写的 关于数据库操作的代码 写到其他的类中,然后在servlet调用, 这个其他类就称之为 DAO层。
步骤:
1.创建一个包 com.aaa.dao
2.在com.aaa.dao的包中创建一个接口 命名为XxxxDAO
public interface StudentDAO {
}
3.在接口中声明一个方法(到底什么方法取决于功能)
Service/DAO 层方法命名规约:
1) 获取单个对象的方法用 get 作前缀。
2) 获取多个对象的方法用 list 作前缀。
3) 获取统计值的方法用 count 作前缀。
4) 插入的方法用 save/insert 作前缀。
5) 删除的方法用 remove/delete 作前缀。
6) 修改的方法用 update 作前缀。
public interface StudentDAO {
List<Map<String, Object>> listAllStudent();
}
4.创建一个包 com.aaa.dao.impl
5. 创建一个类 XxxxDAOImpl 并且实现 XxxxDAO 接口
public class StudentDAOImpl implements StudentDAO {
@Override
public List<Map<String, Object>> listAllStudent() {
String sql = "select * from t_student";
return DAOUtil.executeQuery(sql);
}
}
6.在原先servlet中通过调用的形式 获取数据库数据
public class StudentServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 1 获取 数据库的数据
StudentDAO studentDAO = new StudentDAOImpl();
List<Map<String, Object>> list = studentDAO.listAllStudent();
// 2 共享数据
req.setAttribute( "haha" , list );
// 选择哪个jsp来展示数据
req.getRequestDispatcher("student.jsp").forward(req,resp);
}
}