zoukankan      html  css  js  c++  java
  • 【 JdbcUtils 】mysql数据库查询

    JdbcUtils 
    package k.util;
    
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public final class JdbcUtils {
        private static String url = "jdbc:mysql://localhost:3306/test";
        private static String user = "root";
        private static String password = "root3306";
    
        public static void main(String[] args) {
            // String sql = "UPDATE `user` set money=666 WHERE `name` =? ";
            // System.out.println(executeUpdate(sql, new Object[]{"name1"}));
            List<Map<String, Object>> list = executeQuery("select * from user", null);
            System.out.println(list);
        }
    
        public static List<Map<String, Object>> executeQuery(String sql, Object[] parms) {
            Connection conn = null;
            PreparedStatement st = null;
            ResultSet rs = null;
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            try {
                conn = JdbcUtils.getConnection();
                st = conn.prepareStatement(sql);
                if (parms != null && parms.length > 0) {
                    for (int i = 0; i < parms.length; i++) {
                        st.setObject(i + 1, parms[i]);
                    }
                }
                rs = st.executeQuery();
                ResultSetMetaData rsmd = rs.getMetaData();
                while (rs.next()) {
                    Map<String, Object> map = new HashMap<>();
                    for (int i = 0; i < rsmd.getColumnCount(); i++) {
                        String columnLabel = rsmd.getColumnLabel(i + 1);
                        Object columnValue = rs.getObject(columnLabel);
                        map.put(columnLabel, columnValue);
                    }
                    list.add(map);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                JdbcUtils.free(rs, st, conn);
            }
            return list;
        }
    
        public static int executeUpdate(String sql, Object[] parms) {
            int res = -1;
            Connection conn = null;
            PreparedStatement pst = null;
            ResultSet set = null;
            try {
                conn = getConnection();
                pst = conn.prepareStatement(sql);
                if (parms != null && parms.length > 0) {
                    for (int i = 0; i < parms.length; i++) {
                        pst.setObject(i + 1, parms[i]);
                    }
                }
                res = pst.executeUpdate();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                free(set, pst, conn);
            }
            return res;
        }
    
        private JdbcUtils() {
        }
    
        static {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                throw new ExceptionInInitializerError(e);
            }
        }
    
        public static Connection getConnection() throws SQLException {
            return DriverManager.getConnection(url, user, password);
        }
    
        public static void free(ResultSet rs, Statement st, Connection conn) {
            try {
                if (rs != null)
                    rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (st != null)
                        st.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                } finally {
                    if (conn != null) {
                        try {
                            conn.close();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    }
  • 相关阅读:
    jqGrid 各种参数 详解
    JqGrid自定义(图片)列
    win10以前连接过的wifi密码怎么查看
    C# 文件操作常用方法总结
    js LocalStorage
    list互转datatable 支持Nullable转换
    UVA 515 King
    UVA 558 Wormholes
    UVA 10986 Sending email 最短路问题
    UVA 10801 Lift Hopping 最短路
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/11772871.html
Copyright © 2011-2022 走看看