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());

    }

    }

  • 相关阅读:
    PKI的签密体制学习(含信息安全基础)
    Linux软件安装
    Linux基础
    JSP EL表达式入门1
    Tomcat 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099 解决方法
    JSP JSTL入门
    JSP组件
    JSP动作
    实现序列化的java类中的serialVersionUID的作用
    [Noip2016]蚯蚓
  • 原文地址:https://www.cnblogs.com/hwgok/p/5854587.html
Copyright © 2011-2022 走看看