package DataBase; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import Method.About_tb_track; import Method.BaoWenShow; import PbuliClass.GetTxt; import PbuliClass.ShowMessage; import zhuce.ZhuCeMan; @SuppressWarnings("rawtypes") public class DatabaseManagement {//Êý¾Ý¿â¹ÜÀíÀà protected static String adressandport =GetTxt.getTxt("databaseadress","system")+":"+GetTxt.getTxt("databaseport","system"); protected static String dbClassName = "com.mysql.jdbc.Driver";// MySQLÊý¾Ý¿âÇý¶¯ÀàµÄÃû³Æ protected static String dbUrl = "jdbc:mysql://"+adressandport+"/hxzkflow";// ·ÃÎÊMySQLÊý¾Ý¿âµÄ·¾¶ protected static String dbUser;// ·ÃÎÊMySQLÊý¾Ý¿âµÄÓû§Ãû protected static String dbPwd;// ·ÃÎÊMySQLÊý¾Ý¿âµÄÃÜÂë protected static String dbName = "hxzkflow";// ·ÃÎÊMySQLÊý¾Ý¿âÖеÄʵÀýhxzk) protected static String second = null;// public static Connection conn = null;// MySQLÊý¾Ý¿âµÄÁ¬½Ó¶ÔÏó public static PreparedStatement sql;//ÉêÃ÷Ô¤´¦Àí¶ÔÏó static {// ¾²Ì¬³õʼ»¯Àà try { dbUser=GetTxt.getTxt("dbName","system"); dbPwd=GetTxt.getTxt("dbPass","system"); if (conn == null) { Class.forName(dbClassName).newInstance();// ʵÀý»¯MySQLÊý¾Ý¿âµÄÇý¶¯ try {conn = DriverManager.getConnection(dbUrl+"?useUnicode=true&characterEncoding=utf-8&useSSL=false",dbUser,dbPwd);// Á¬½ÓMySQLÊý¾Ý¿â }catch(SQLException e) { ShowMessage.zidingyi("Êý¾Ý¿âÁ¬½Ó³ö´í,Çë¼ì²éÊý¾Ý¿âÃÜÂë"); } } } catch (ClassNotFoundException e) { e.printStackTrace(); ShowMessage.zidingyi("Ç뽫MySQLµÄJDBCÇý¶¯°ü¸´ÖƵ½libÎļþ¼ÐÖС£");// ²¶»ñÒì³£ºó£¬µ¯³öÌáʾ¿ò System.exit(-1);// ϵͳֹͣÔËÐÐ } catch (Exception e) { e.printStackTrace(); } } /**»ñÊý¾Ý¿âÖÐij¸ö±íµÄËùÓеÄÊý¾Ý * @param Êý¾Ý¿âÖÐij¸ö±íµÄÃû³Æ*/ public static List get_alldate_indatabase(String database_name) { List list = findForList("select * from "+database_name); return list; } /**ËÑË÷ij¸ö×Ö¶Î*/ public static List get_moudata_indatabase(String sql) { List list = findForList(sql); return list; } /**Êý¾Ý°´ÕÕÉýÐò»òÕß½µÐòÅÅÁÐ * @param DESC½µÐòÅÅÁÐ * @param ASCÉýÐòÅÅÁÐ * @param tablenameÊý¾Ý±íµÄÃû³Æ*/ public static List table_AandD(String tablename,String sj) { List list = findForList("select * from "+tablename+" order by id "+sj); return list; } /**Êý¾Ý°´ÕÕÉýÐò»òÕß½µÐòÅÅÁÐ * @param DESC½µÐòÅÅÁÐ * @param ASCÉýÐòÅÅÁÐ * @param tablenameÊý¾Ý±íµÄÃû³Æ*/ public static List table_base(String tablename,String sj,String ziduan) { List list = findForList("select * from "+tablename+" order by "+ziduan+" "+sj); return list; } /**ÐÅÏ¢²éѯ*/ public static List serch(String serch) { List list = findForList(serch); return list; } // Ö´ÐÐÖ¸¶¨²éѯ public static ResultSet query(String QueryStr) { ResultSet set = findForResultSet(QueryStr); return set; } // Ö´ÐÐɾ³ý public static int delete(String sql) { BaoWenShow.show(sql, "Êý¾Ý¿âÊý","Ñ¡Ôñ±êÇ©"); return update(sql); } /**Ö´ÐÐSQL²éѯÓï¾ä·µ»Ø½á¹û¼¯*/ public static ResultSet findForResultSet(String sql) { if (conn == null) { ShowMessage.zidingyi("Êý¾ÝûÓÐÁ¬½Ó³É¹¦..."); return null; } ResultSet rs = null; try { /**TYPE_SCROLL_INSENSITIVE,½á¹û¼¯µÄÓαê¿ÉÒÔÉÏÏÂÒÆ¶¯£¬µ±Êý¾Ý¿â±ä»¯Ê±£¬µ±Ç°½á¹û¼¯²»±ä¡£ * CONCUR_READ_ONLY ²»ÄÜÓýá¹û¼¯¸üÐÂÊý¾Ý¿âÖÐµÄ±í¡£*/ Statement stmt= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); } catch (Exception e) { e.printStackTrace(); } return rs; } // Ìí¼ÓÊý¾Ý public static boolean insert(String sql) { BaoWenShow.show(sql, "Êý¾Ý¿âÊý","Ñ¡Ôñ±êÇ©"); boolean result = false; try { Statement stmt = conn.createStatement(); result = stmt.execute(sql); conn.commit(); // Ìá½»ÊÂÎñ stmt.close(); } catch (SQLException e) { e.printStackTrace(); } return result; } /**¸üÐÂÊý¾Ý*/ public static int update(String sql) { BaoWenShow.show(sql, "Êý¾Ý¿âÊý","Ñ¡Ôñ±êÇ©"); int result = 0; try { Statement stmt = conn.createStatement(); conn.setAutoCommit(false); result = stmt.executeUpdate(sql); conn.commit(); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } return result; } public static List findForList(String sql) { List list = new ArrayList(); ResultSet rs = findForResultSet(sql); try { ResultSetMetaData metaData = rs.getMetaData();//´ÓÔªÊý¾ÝÖлñµÃÁÐÊý int colCount = metaData.getColumnCount();//±í×ܵÄÁÐÊý while (rs.next()) { List row = new ArrayList(); for (int i = 1; i <= colCount; i++) { String str = rs.getString(i); if (str != null && !str.isEmpty()) str = str.trim();//ºöÂÔÇ°ÃæºÍºóÃæ¿Õ°× row.add(str); } list.add(row); } } catch (Exception e) { ShowMessage.zidingyi_24(sql+"Êý¾Ý¿â²Ù×÷³ö´í£¡");// ²¶»ñÒì³£ºó£¬µ¯³öÌáʾ¿ò } try { rs.close(); } catch (SQLException e) { // TODO ×Ô¶¯Éú³ÉµÄ catch ¿é e.printStackTrace(); } return list; } /**»ñÈ¡Êý¾Ý¿â·µ»ØµÄ½á¹û¼¯*/ public static String[] get_columname(String dataname) { String[] columname=null; ResultSet rs = findForResultSet("select * from "+dataname); ResultSetMetaData data=null;; try { data = rs.getMetaData(); int colCount = data.getColumnCount();//±í×ܵÄÁÐÊý columname=new String[colCount]; for (int i =1; i <= colCount; i++) { // »ñµÃÖ¸¶¨ÁеÄÁÐÃû String columnName = data.getColumnName(i); columname[i-1]=columnName; } } catch (SQLException e) { ShowMessage.zidingyi_24("get table column err..."); }//´ÓÔªÊý¾ÝÖлñµÃÁÐÊý try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } return columname; } /**ʹÓÃÔ¤´¦ÀíÓï¾ä¿ìËÙÏòÊý¾Ý¿â²åÈëÊý¾Ý * @param tbnameÊý¾Ý¿âÃû³Æ * @param ziduan×Ö¶Î * @param zhi×ֶζÔÓ¦µÄÖµ */ public static boolean insertfast(String tbname,String[] ziduan,String[] zhi) { boolean succ=false; int result=0; PreparedStatement ptmt=null; int lenth=ziduan.length; StringBuffer sql=new StringBuffer("INSERT " +tbname+" ( "); for(int i=0;i