使用DBUtils编写通用的DAO
来源:互联网 发布:哪家的4g网络好 编辑:程序博客网 时间:2024/05/18 00:47
public class JdbcDaoImpl<T> implements DAO<T>
public class CustomerDao extends JdbcDaoImpl<Customer>
第一步:interface DAO:
package com.atguigu.getconntection;
import java.sql.Connection;
import java.util.List;
/*
* 访问数据的DAO接口
* 里面定义好访问数据表的各种方法
* @param T:DAO处理的实体类的类型
*/
public interface DAO<T> {
/**
* 批量处理的方法
* @param connection
* @param sql
* @param args
*/
void batch(Connection connection,String sql,Object ... args);
/**
/**
* 返回一个具体的值,例如总人数,平均工资,某一个人的eamil
* @param connection
* @param sql
* @param args
* @return
*/
<E> E getForValue(Connection connection,String sql,Object ... args);
/**
* 返回T的一个集合
* @param connection
* @param sql
* @param args
* @return
*/
List<T> getForList(Connection connection,String sql,Object ... args);
/**
* 返回一个T的对象
* @param connection
* @param sql
* @param args
* @return
* @throws Exception
*/
T get(Connection connection,String sql,Object ... args) throws Exception;
/**
* insert、update、delete
*
* @param connection:数据库连接
* @param sql:SQL语句
* @param args:填充占位符的可变参数
*
*/
void update(Connection connection,String sql,Object ... args);
}
第二步:class JdbcDaoImpl<T> implements DAO<T>:
package com.atguigu.getconntection;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
/**
* 使用QueryRunner 提供其机体的实现
* @author Administrator
*
* @param <T>:子列需传入的反省类型
*/
public class JdbcDaoImpl<T> implements DAO<T> {
private QueryRunner queryRunner=null;
private Class<T>type;
public JdbcDaoImpl(){
queryRunner=new QueryRunner();
type=ReflectionUtils.getSuperGenericType(getClass());
}
@Override
public void batch(Connection connection, String sql, Object... args) {
// TODO Auto-generated method stub
}
@Override
public <E> E getForValue(Connection connection, String sql, Object... args) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<T> getForList(Connection connection, String sql, Object... args) {
// TODO Auto-generated method stub
return null;
}
@Override
public T get(Connection connection, String sql, Object... args) throws Exception {
return queryRunner
.query(connection, sql, new BeanHandler<>(type), args);
}
@Override
public void update(Connection connection, String sql, Object... args) {
// TODO Auto-generated method stub
}
}
第三步:
package com.atguigu.getconntection;
public class CustomerDao extends JdbcDaoImpl<Customer> {
根据业务编写自己的方法
}
接口--类--自定义类关系
- 使用DBUtils编写通用的DAO
- 使用DBUtils编写通用的DAO【很有价值】
- 编写通用的DAO类
- 基于SSH编写通用的DAO、Service、Action
- JDBC连接数据库之编写通用的Dao(7)
- 基于SSH编写通用的DAO、Service、Action实现
- 利用反射泛型编写通用的Dao
- 使用Spring的JdbcTemplate编写的DAO
- 通用的DAO雏形
- Hibernate的通用dao
- Hibernate的通用dao
- mybaits开发之通用 dao层编写
- mybaits开发之通用 dao层编写
- JDBC通用方法及DbUtils组件使用
- 通用的DAO查询,常见方法集合,没有使用Spring
- 使用JDBC编写通用的查询方法
- dbutils的使用
- DBUtils框架的使用
- 面试技巧及注意事项
- leetcode 33:Revised Binary Search
- 使用注解提供view引用和点击事件
- Android的Adapter用法理解
- javascript 实现输入框只能输入数字
- 使用DBUtils编写通用的DAO
- 序列模式挖掘算法BIDE
- 抽象类与接口的区别与使用
- WF对象引用1
- Mac上无法安装jekyll
- JNI中查找类,访问类的域
- 软件开发中,做产品与做项目有什么区别?
- performSelector函数
- Ubuntu下安装eclipse