IDAO接口 定义项目中所有板块相似功能 也是整个项目的根接口
public interface IDAO {
/**
* 新增数据 @param SQL sql查询语句 @param params 参数数组 @wonter
*/
public int insert(final String SQL, final Object[] params)
throws CRMDBConnException, CRMSQLException;
/**
* 查询 要求传入查询表对应的BeanCalss @param SQL sql查询语句 @param clazz 查询表对应的BeanCalss @author wonter
*/
public List findAll(final String SQL, Class clazz)
throws CRMDBConnException, CRMSQLException;
/**
* @param SQL sql更新语句 @param bean 更新表对应的bean实例 @author wonter
*/
public int update(final String SQL, final Object bean)
throws CRMDBConnException, CRMSQLException;
/**
* 删除单条数据 @param SQL sql删除语句 @param id 主键编号 @author Lyee
*/
public int delete(final String SQL, final Object id)
throws CRMDBConnException, CRMSQLException;
}
ICompanyDAO接口继承IDAO 空接口 公司板块这是程序员开始着手的地方
public interface IOperateDAO extends IDAO {
}
DAOAdapter类 适配器 通过包装一个需要适配的对象,把原接口IDAO 转换成目标接口。
public abstract class DAOAdapter {
/**
* 构造方法
*/
public DAOAdapter() {
// TODO Auto-generated constructor stub
}
/**
* 查询 要求传入查询表对应的BeanCalss @param SQL sql查询语句 @param clazz 查询表对应的BeanCalss @author wonter
*/
public List findAll(final String SQL, Class clazz)
throws CRMDBConnException, CRMSQLException {
return null;
}
/**
* 新增数据 @param SQL sql查询语句 @param params 参数数组 @wonter
*/
public int insert(final String SQL, final Object[] params)
throws CRMDBConnException, CRMSQLException {
return 0;
}
}
CompanyDAO类 具体实现类 每一个DAO可以实现一个DAOAdapter适配器,也可以直接实现I**DAO。这看实现是否完全。 如果实现不全面,直接实现适配器继承接口。
public class CompanyDAO extends DAOAdapter implements ICompanyDAO {
/**
* CompanyDAOde的空构造 @author wonter
*/
public CompanyDAO() {
}
/**
* 删除单条数据
* @param SQL
* sql删除语句
* @param id
* 主键编号
*/
public int delete(String SQL, Object id) throws CRMDBConnException,
CRMSQLException {
try {
return DAOUtil.getInstance().delete(SQL, id);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
}
DAOUtil类 工具类 用于连接数据库
public class DAOUtil {
private DAOUtil() {
}
/**
* 获得DAOUtil的实例
* @return 返回 DAOUtil实例
*/
public static DAOUtil getInstance() throws InstantiationException, IllegalAccessException {
return (DAOUtil) DAOUtil.class.newInstance() ;
}
/**
* 删除单条数据
* @param SQL
* sql删除语句
* @param id
* 主键编号
*/
public int delete(final String SQL, final Object id)
throws CRMDBConnException, CRMSQLException {
int flag = -1;
Object[] params = { id };
QueryRunner qr = CRMQueryRunner.getInstance();
try {
flag = qr.update(SQL, params);
} catch (Exception e) {
throw new CRMSQLException("SQl Execute Exception", e);
}
return flag;
}
}
CRMQueryRunner类 数据连接 单例设计模式
public final class CRMQueryRunner extends QueryRunner {
......
后台就到这来吧!再说前台。