DAO(Database Access Object,数据库访问对象)
为了降低耦合性,提出了DAO封装数据库操作的设计模式。
优点:它可以实现业务逻辑与数据库访问相分离,相对来说,数据库是比较稳定的,其中数据库依赖于数据库系统,提供数据库访问的接口。
DAO模式的组成部分
- DAO接口(主要是添加、修改、更新和删除方法)
- DAO实现类
- 实体类(一般存放于domain、beans、entity、pojo或model下)
- 数据库连接和关闭工具类
工程中涉及的包名:
beans:存放实体类
utils:存放工具类
dao:存放接口
dao.impl 存放实现类
需求:在前一个案例的基础上,使用DAO设计模式进行改写,完成对数据表的增、删、改、查。
项目文件组成
代码实现
1、DAO接口StudentDao.java(主要是添加、修改、更新和删除方法)
/**
*接口
* @author zhaoyc
*添加
*删除
*查询
*修改
*/
public interface StudentDao
{
//1、查询全部
public ArrayList<Student> findAll();
//2、根据编号来查询学生,用来更新update操作
Student findByStuId(int id);
//3、更新
public void update(Student student);
//4、删除
public void delete(int id);
//5、添加
public void add(Student student);
}
2、StudentDao的实现类StudentDaoImpl.java
public class StudentDaoImpl implements StudentDao
{
@Override
public List<Student> findAll()
{
//1、获取连接
ArrayList<Student> students = new ArrayList<Student>();
Connection connection = null;
PreparedStatement pstat = null;
ResultSet resultSet = null;
connection = DbUtils.getConnection();
try
{
pstat = connection.prepareStatement("select *from tb_student;");
resultSet = pstat.executeQuery();
while(resu