天天看点

DBUtils的增删改查

//通用的增删改,根据args数组的长度
public void update(String sql,Object ... args){
	Connection conn = null;
	PreparedStatement ps = null;
	try {
		conn = JDBCUtil.getConn();
		ps = conn.prepareStatement(sql);
		for(int i=0;i<args.length;i++) {
			ps.setObject(i+1, args[i]);
		}
		ps.executeUpdate();
	} catch (Exception e) {
		// TODO: handle exception
	}finally {
		JDBCUtil.release(conn, ps);
	}
}
           

通用的增删改查

//通用的增删改,根据sql中?的个数来
	public void update02(String sql,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++) {
				ps.setObject(i+1, args[i]);
			}
			ps.executeUpdate();
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			JDBCUtil.release(conn, ps);
		}
	}
           
@Test
	public void testQuery() {
		Account account = query("select * from account where id = ?",new ResultSetHandler<Account>() {
			@Override
			public Account handle(ResultSet rs) {
				try {
					Account account = new Account();
					if(rs.next()) {
						String name = rs.getString("name");
						int money=rs.getInt("money");
						account.setName(name);
						account.setMoney(money);
					}
					return account;
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				return null;
			}
		},6);
		System.out.println(account);
	}	
	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++) {
				ps.setObject(i+1, args[i]);
			}
			ResultSet rs = ps.executeQuery();
			T t=(T)handler.handle(rs);
			return t;
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			JDBCUtil.release(conn, ps);
		}
		return null;
	}