将学习变成乐趣,一直在路上
每天1990

导航

 
背景: 
前几天写连接数据库时,因为要执行sql,有的是指向得到所有的执行结果,有的是想根据执行结果获得某一个字段的结果。这时我想通过同一个方法名,不同的参数,获得不同的结果。结果发现java的方法竟然不能对参数设置默认值==,而是可以通过重载来实现这个过程的。(当然不排除我对java不了解的缘故,如果大家有什么方法可以告诉我谢谢~)
 
重载:可以理解为同一个方法名,不同的参数,大概的实例如下:
def void A(int i){
     #使用参数i的方法A
}
def void A(int j,int k){
     #使用参数j和k的方法A
}
 
说明:这样可以通过调用同一个方法名,给予不同的参数,实现不同的效果。
 
特别备注:如果方法和参数均相同,是只可以存在一个方法的,因为我开始想通过相同参数、相同方法名,返回int和String两种类型的结果,这样是不可以,只能重新定义一个方法名。
附上错误实例:
public int A(String i){
     return 一个int类型的结果
}
public String A(String i){
     return 一个String类型的结果
}
 
 
最后,附上一个我通过重载实现的sql执行的结果,一个是只获得了查询结果,一个是获得了具体字段的内容:
public ResultSet getresult(String sql) {
        try {
            this.rs = this.stmt.executeQuery(sql);
//            System.out.print(this.rs);
//            while (rs.next()) {
//                    long info_id = rs.getLong("info_id");
//                    System.out.println("\ninfo_id:" + info_id);
//                }
            return this.rs;
        }catch (SQLException e){
            System.out.println("SQL中找不到要查找的字段!");
            e.printStackTrace();
            return this.rs;
        }
    }
    //该方法是直接获得了要找的字段名对应的结果,只取一条,所以会不断的覆盖,取到最后一条,试用与sql结果只有一个的情况,如果是结果是好多行数据,需要用ExcuteSql的方法
    public String getresult(String sql,String key){
        try {
            this.rs = this.stmt.executeQuery(sql);
        }catch (SQLException e){
            System.out.println("SQL中找不到要查找的字段!");
            e.printStackTrace();
        }
        try{
            while(this.rs.next()) {
                this.result = this.rs.getString(key);
            }
        }catch (Exception e){
            System.out.println("SQL获取结果异常!");
            e.printStackTrace();
        }
        return this.result;
    }
posted on 2015-12-18 18:06  每天1990  阅读(12197)  评论(0编辑  收藏  举报