zoukankan      html  css  js  c++  java
  • java 简单封装resultMap返回对象为map

    public class DbUtils {
        private static String host = "47.93.******";
        private static String port = "3306";
        private static String username = "*****";
        private static String password = "******";
        private static String database = "******";
    
        static {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (Exception e) {
    
            }
        }
    
        private static Connection getConn() {
            Connection conn = null;
            try {
    
                String url = "jdbc:mysql://" + host + ":" + port + "/" + database;
                conn = DriverManager.getConnection(url, username, password);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return conn;
        }
    
        public static List<Map<String, Object>> execQuery(String sql, Object[] args) throws Exception {
            Connection conn = getConn();
            PreparedStatement ps = conn.prepareCall(sql);
            ResultSet rs = null;
    
            int count = StringUtils.countMatches(sql, "?");
    
            //变量赋值。。。。。。
            for (int i = 0; i < count; i++) {
                ps.setObject(i, args[i]);
            }
    
    
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    
    
            rs = ps.executeQuery();
    
            ResultSetMetaData metaData = rs.getMetaData();
          //注意。。metaData.getColumnName 获取字段名,rs.getObject 获取属性 是从 1 开始的,而不是从0 开始
            while (rs.next()) {
                int rowSize = metaData.getColumnCount();
                Map<String, Object> map = new HashMap<>();
                for (int i = 1; i <= rowSize; i++) {
                    String labelName = metaData.getColumnName(i);
                    Object obj = rs.getObject(labelName);
                    map.put(labelName, obj);
                }
                list.add(map);
            }
    
            close(conn, ps, rs);
            return list;
        }
    
    
        /**
         * @param conn
         * @param ps
         * @param rs
         * @throws Exception
         */
        private static void close(Connection conn, PreparedStatement ps, ResultSet rs) throws Exception {
            rs.close();
            ps.close();
            conn.close();
        }
  • 相关阅读:
    第四十七讲 ASP.NET实例编程(六)
    第四十四讲 ASP.NET实例编程(三)
    第四十一讲 ASP.NET消息处理(二)
    第四十三讲 ASP.NET实例编程(二)
    第四十二讲 ASP.NET实例编程(一)
    第四十六讲 ASP.NET实例编程(五)
    第四十八讲 ASP.NET实战编程(一)
    第四十讲 ASP.NET消息处理(一)
    第四十五讲 ASP.NET实例编程(四)
    第三十九 ASP.NET编码
  • 原文地址:https://www.cnblogs.com/whm-blog/p/7123416.html
Copyright © 2011-2022 走看看