问题引入
apache+Druid+dbutils 简化了JDBC 开发,但还有不足
- sql语句是固定的,不能通过参数传入,通用性不好,需要进行改进,更方便执行增删改查
- 对于select操作,如果有返回值,返回类型不能固定,需要使用泛型
- 将来的表很多,业务需求复杂,不可能只靠一个java类来完成
DAO基本说明
- DAO:data access object 数据访问对象
- 这样的通用类,称为BasicDao,是专门和数据库交互的,即完成对数据库(表)的 CRUD 操作
- 在 BasicDao 的基础上,实现一张表对应一个DAO,更好的完成功能,比如 Customer表——Customer.java类(javaBean)—— CustomerDAO.java
package com.ftn.dao_.dao;
import com.ftn.dao_.utils.JDBCUtilsByDruid;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.sql.Connection;
import java.sql