数据库操作类util

来源:互联网 发布:淘宝用是谁写的 编辑:程序博客网 时间:2024/05/18 21:51
package util;import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class DateExecute {    public static Connection getConnection(String name, String password)            throws InstantiationException, IllegalAccessException,            ClassNotFoundException, SQLException {        Connection con;        String driverName = "com.mysql.jdbc.Driver";        Driver d = (Driver) Class.forName(driverName).newInstance();        con = DriverManager.getConnection("jdbc:mysql://localhost:3307/nona",                name, password);        return con;    }    public static List<Map<String, Object>> getDateList(String sql)            throws InstantiationException, IllegalAccessException,            ClassNotFoundException, SQLException {        Connection conn = getConnection("root", "root");        PreparedStatement stmt;        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();        try {            stmt = conn.prepareStatement(sql);            ResultSet rs = stmt.executeQuery(sql);            list = convertList(rs);        } catch (SQLException e) {            System.out.println("数据库连接失败");            e.printStackTrace();        }        return list;    }    private static List convertList(ResultSet rs)            throws SQLException {        List list = new ArrayList();        ResultSetMetaData md = rs.getMetaData();        int columnCount = md.getColumnCount(); // Map rowData;        while (rs.next()) { // rowData = new HashMap(columnCount);            Map<String, Object> rowData = new HashMap<String, Object>();            for (int i = 1; i <= columnCount; i++) {                rowData.put(md.getColumnName(i), rs.getObject(i));            }            list.add(rowData);        }        return list;    }    public static int executeUpdate(String sql)            throws InstantiationException, IllegalAccessException,            ClassNotFoundException, SQLException {        Connection conn = getConnection("root", "root");        PreparedStatement stmt;        int success = 0 ;        try {            stmt = conn.prepareStatement(sql);            success = stmt.executeUpdate(sql);        } catch (SQLException e) {            System.out.println("数据库连接失败");            e.printStackTrace();        }        return success;    }}
0 0