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; } }