packagek.util;import java.sql.*;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;public final classJdbcUtils {private static String url = "jdbc:mysql://localhost:3306/test";private static String user = "root";private static String password = "root3306";public static voidmain(String[] args) {//String sql = "UPDATE `user` set money=666 WHERE `name` =? ";//System.out.println(executeUpdate(sql, new Object[]{"name1"}));
List> list = executeQuery("select * from user", null);
System.out.println(list);
}public static List>executeQuery(String sql, Object[] parms) {
Connection conn= null;
PreparedStatement st= null;
ResultSet rs= null;
List> list = new ArrayList>();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 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);
}returnlist;
}public static intexecuteUpdate(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);
}returnres;
}privateJdbcUtils() {
}static{try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e) {throw newExceptionInInitializerError(e);
}
}public static Connection getConnection() throwsSQLException {returnDriverManager.getConnection(url, user, password);
}public static voidfree(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();
}
}
}
}
}
}