zoukankan      html  css  js  c++  java
  • 回调函数的使用

    package com.huawei.common;

    import java.sql.ResultSet;
    import java.sql.SQLException;


    /**
    * 回调函数
    * @author Administrator
    *
    */
    public interface CallBack {

    void execute(ResultSet rs) throws SQLException;

    }

    package com.huawei.dao;

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;

    import com.huawei.common.CallBack;
    import com.huawei.po.City;
    import com.huawei.po.Province;
    import com.huawei.utils.DBUtil;


    public class CascadeDAO2 {

    public void findAll(String sql,Object[] params,CallBack callBack){
    Connection connection = DBUtil.getConnection();

    PreparedStatement ps = null;

    ResultSet rs = null;

    try {
    ps = connection.prepareStatement(sql);
    if(params!=null && params.length>0){
    for(int i=0;i<params.length;i++){
    //设置参数
    ps.setObject(i+1, params[i]);
    }
    }
    rs = ps.executeQuery();

    //需要动态的加入一段代码执行
    callBack.execute(rs);

    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    DBUtil.close(rs,ps,connection);
    }
    }

    public List<Province> findAllProvince(){

    final List<Province> provinces = new ArrayList<Province>();
    //final String [] values = new String[]{""};
    //final String a = "123";

    //String s = "select * from city where provinceID=?"; new Object[]{}

    String sql = "SELECT * FROM province";
    this.findAll(sql, null,new CallBack() {

    @Override
    public void execute(ResultSet rs) throws SQLException {

    while(rs.next()){
    provinces.add(new Province(rs.getInt("provinceID"), rs.getString("province")));
    }
    //String abc = "lsi123";
    //values[0] = abc;
    }
    });

    return provinces;
    }

    public List<City> findCityByProvinceID(Integer id){
    final List<City> cities = new ArrayList<City>();
    String sql = "select * from city where provinceID=?";
    this.findAll(sql, new Object[]{id}, new CallBack() {

    @Override
    public void execute(ResultSet rs) throws SQLException {
    while(rs.next()){
    cities.add(new City(rs.getInt("cityID"),rs.getString("city")));
    }
    }
    });
    return cities;
    }

    public static void main(String[] args) {
    System.out.println(new CascadeDAO2().findAllProvince().size());
    System.out.println(new CascadeDAO2().findCityByProvinceID(510000).size());

    }

    }

  • 相关阅读:
    HDU 1828 Picture (线段树:扫描线周长)
    [USACO18OPEN] Multiplayer Moo (并查集+维护并查集技巧)
    NOIP2016 天天爱跑步 (树上差分+dfs)
    NOIP2013 华容道 (棋盘建图+spfa最短路)
    NOIP2015 运输计划 (树上差分+二分答案)
    NOIP2018 前流水账
    luogu P2331 [SCOI2005]最大子矩阵
    luogu P2627 修剪草坪
    CF101D Castle
    luogu P2473 [SCOI2008]奖励关
  • 原文地址:https://www.cnblogs.com/hwgok/p/5854587.html
Copyright © 2011-2022 走看看