抽象DAO操作
- 关于所有的表操作都会对应一些操作,我们都会把这些抽取到对应的DAO中。那么存在大量的重复操作,是否可以抽出通用的部分,供大家继承使用。
- 把DAO的操作先写成接口,把通用的操作提炼出来。
- 实现操作
抽象出DAO操作的接口
package lesson2.dao;
import java.io.Serializable;
import java.util.List;
/**
* 抽象出DAO操作的接口
* @author hh
*
* @param <T>
*/
public interface Dao<T> {
public T findById(Serializable id,String sql,RowMapper<T> rm);
public List<T> find(String sql,RowMapper<T> rm,Object...obj);
public int saveOrUpdateOrDelete(String sql,Object...obj);
}
实现接口
package lesson2.dao;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import lesson2.JdbcUitl;
/**
* 实现接口,重写抽象DAO的方法
* @author hh
*
* @param <T>
*/
public class DaoSupport<T> implements Dao<T>{
/**
* 根据ID查找对象
*/
@Override
public T findById