新手填坑 java.lang.Integer cannot be cast to java.lang.String

编程知识 行业动态 更新时间:2024-06-13 00:20:27
本文转载自: http://wwwblogs/zhengwanmeixiansen/archive/2017/08/17/7380666.html 作者:zhengwanmeixiansen 转载请注明该声明。

java连接mysql封装的获取集合的公用方法

public List<Map<String, String>> getSet(String sql){
        List<Map<String, String>> list = new ArrayList<Map<String,String>>();
        ResultSet rs = null;
        Statement sm = null;
        try {
            //1.加载驱动程序
            Class.forName(driver);
            con = DriverManager.getConnection(url, user, passwod);
            //2.创建statement类对象,用来执行SQL语句!!
            sm = con.createStatement();
            rs = sm.executeQuery(sql);
            //返回列的描述信息
            ResultSetMetaData rsmd = rs.getMetaData();
            while(rs.next()){
                Map map = new HashMap();
                for (int i = 1; i <= rsmd.getColumnCount(); i++) {
                    map.put(rsmd.getColumnName(i), rs.getObject(i));
                }
                list.add(map);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            closeAll(rs,sm,con);
        }
        return list;
    }

因为id这个字段在数据库中是int类型的,返回Map接收查询结果,接收时使用了List<Map<String,String>>,然后在取出id的时候就出现了转换异常

最终修改了封装方法里取id的地方的代码才解决,用toString()方法转换成字符串类型就解决了

做一个随笔记录,纪念自己的坑。

更多推荐

新手填坑 java.lang.Integer cannot be cast to java.lang.String

本文发布于:2023-03-29 22:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/c001ae3457d1951eabf3db9a21c89e8f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:新手   java   lang   String   cast

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!