阅读背景:

java 使用DBUtil与C3P0设计通用查询代码_夏沐的博客

来源:互联网 

DBUtil与C3P0设计通用查询代码:

public <T> T query(String sql , ResultSetHandler<T> handler, Object ...args ){
	Connection conn = null;
	PreparedStatement ps=null;
	try {
		conn = JDBCUtil.getConn();
		ps = conn.prepareStatement(sql);
		//获取到有几个问号,占位符
		ParameterMetaData metaData  = ps.getParameterMetaData();
		int count = metaData.getParameterCount();
		for (int i = 0; i < count; i++) {
			//因为不知道是什么类型的数据,所以都使用setObject来对待。
			ps.setObject(i+1, args[i]);
		}
		
		
		
		//执行查询工作, 然后得到结果集
		ResultSet rs = ps.executeQuery();
		
		//把结果集丢给调用者,让它去封装数据 ,返回封装数据
		T t =  (T) handler.handle(rs);
		 
		return t;
		//问题一: 这里的数据获取,以及封装成上面对象返回。不知道。 因为调用的地方需要的数据不同。
		/*while(rs.next()){
			rs.getInt("id");
			rs.getString("name");
			。。。
		}*/
		
	} catch (SQLException e) {
		e.printStackTrace();
	}finally {
		JDBCUtil.release(conn, ps);
	}
	return null;
}
public <T> T query(Strin



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: