Bei der Arbeit an Projekten ist die technische Auswahl sehr wichtig. Die zugrunde liegende Methode wirkt sich direkt auf unsere Zugriffsgeschwindigkeit und die Änderung von Big Data aus. In Java gibt es viele ausgezeichnete Orm -Frameworks, wie JPA, Winterschlaf usw., wie wir sagten, haben Rahmenbedingungen die Vorteile von Frameworks, und natürlich gibt es einige Bereiche, die verbessert werden können. Zu diesem Zeitpunkt müssen wir die zugrunde liegende Architektur für unterschiedliche Geschäftsbedürfnisse und unterschiedliche Besuche erneut aufsteuern, um die Ergänzung, Löschung und Änderung von Big Data zu unterstützen.
Code:
import Java.io.*; Java.sql.*importieren; import Java.util.logging.level; import Java.util.logging.logger; importieren javax.servlet.jsp.jstl.sql.*; / ** * dbHelper * @author qmx * */ public class dbHelper {private String SQL; // Die SQL -Anweisung, die public void setSQL (String SQL) {this.sql = SQL; } private Liste SQLVALUES; // Systemparameter der SQL -Anweisung public void setSQLValues (Liste SQLVALUES) {this.sqlvalues = SQLVALUES; } private Liste <List> SQLValue; // Systemparameter der SQL -Anweisung public void setSQLValue (Liste <List> SQLVALUES) {this.sqlValue = SQLVALUES; } Private Connection Con; // Verbindungsobjekt public void setCon (Verbindung con) {this.con = con; } public dbHelper () {this.con = getConnection (); // dem Verbindungsobjekt}/*** Datenbankverbindung abrufen* @return*/private Verbindung getConnection () {String triver_class = null; String driver_url = null; String Database_user = null; String Database_Password = null; try {InputStream fis = this.getClass (). getResourceAsStream ("/db.properties"); // Laden Sie die Datenbankkonfigurationsdatei in Speichereigenschaften p = neue Eigenschaften (); P.Load (fis); TRAVER_CLASS = P.GetProperty ("Driver_class"); // Erhalten Sie die Datenbankkonfigurationsdatei triver_url = p.getProperty ("triver_url"); Database_user = P.GetProperty ("Database_User"); Database_Password = P.getProperty ("Database_Password"); Class.Forname (TRAVER_CLASS); con = driverManager.getConnection (TRAVER_URL, DATABASE_USER, DATABASE_PASSWORD); } catch (classNotFoundException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); } catch (FilenotFoundException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } return con; } / ** * Schließen Sie die Datenbank * @param con * @param pst * @param rst * / private void closeAll (Verbindungscon, PreparedStatement pst, resultSet rst) {if (rst! = Null) {try {rst.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (pst! = null) {try {pst.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (con! = null) {try {con.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (con! = null) {try {con.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (con! = null) {try {con.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }}}} / ** * Schließen Sie die Datenbank * @param con * @param pst * @param rst * / private void closAll (Verbindung con, Anweisung pst, resultset rst) {if (rst! = Null) {try {rst.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (pst! = null) {try {pst.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (pst! = null) {try {pst.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} if (con! = null) {try {con.close (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }}} / ** * find * @param sql * @param SQLVALUES * @RETURN * / public resultecuteQuery () {result result = null; ResultSet rst = null; PrepedStatement pst = null; try {pst = con.preparestatement (SQL); if (sqlvalues! } rst = pst.executeQuery (); result = resultupport.toresult (RST); // Achten Sie darauf, die Konvertierung vor dem Schließen der Datenbank} catch (SQLEXception e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } endlich {this.closeAll (con, pst, rst); } Rückgabeergebnis; } / ** * hinzufügen, löschen, modifizieren, * @return * / public int executeUpdate () {int result = -1; PrepedStatement pst = null; try {pst = con.preparestatement (SQL); if (sqlvalues! } result = pst.executeUpdate (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); } endlich {this.closeAll (con, pst, null); } Rückgabeergebnis; } / *** Methode unter Verwendung provectStatement zum Hinzufügen von Stapeln* @return* / public int [] executeUpDatemore () {int [] result = null; try {preparedStatement past = con.preparestatement (sql, resultSet.type_scroll_sensitiv, resultset.concur_read_only); für (Liste sqlvalUestring: sqlvalue) {für (int i = 0; i < } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }} prest.addbatch (); } prest.executebatch (); /* con.commit ();*/ this.cleAll (con, past, null); } catch (SQLEXception ex) {logger.getLogger (dbhelper.class.getName ()). log (Level.Severe, null, ex); } Rückgabeergebnis; } / ** * Verwenden Sie PreparedStatement, um die Batch -Methode hinzuzufügen, StrValue: * "InAdlogs (IP, Website, Yyyymmdd, Stunde, Object_id) ('192.168.1.3', 'localhost', '20081009', 8, '23123'). löscht sqlexception {int [] result = null; con.setAutocommit (falsch); Anweisung STMT = con.CreateStatement (resultset.type_scroll_sensitive, resultset.concur_read_only); String [] Sqlstring = null; für (String StrValue: SQLString) {stmt.execute (StrValue); } con.commit (); Rückgabeergebnis; } / ** * Verwenden Sie PreparedStatement, um Batch -Methode hinzuzufügen, StrValue: * "InAdlogs (IP, Website, Yyyymmdd, Stunde, Object_id) ('192.168.1.3', 'localhost', '20081009', 8, '23123'). SQLEXception {// Speichern Sie den aktuellen Automatik -Einsendungsmodus boolean booleanautocommit = false; String [] Sqlstring = null; int [] result = null; probieren {booleanAutocommit = con.getAutocommit (); // automatische Einreichungseinstellungen con.setAutocommit (Falsch); Anweisung STMT = con.CreateStatement (resultset.type_scroll_sensitive, resultset.concur_read_only); // Anweisung verwenden, um mehrere SQL -Anweisungen gleichzeitig zu sammeln/*stmt.addbatch (insert_sql1); stmt.addbatch (insert_sql2); stmt.addbatch (update_sql3); */ for (string strsRalue: sqlstring) {stmt.addbatch (StrValue); } // alle SQL -Anweisungen gleichzeitig senden stmt.executebatch (); // Änderungsmodifikation con.commit () einreichen; con.setAutocommit (Booleanautocommit); this.cleAll (con, stmt, null); } catch (Ausnahme e) {e.printstacktrace (); con.rollback (); // set setAutocommit (false) führt den Rollback -Betrieb der Verbindung im Fang nicht aus, und die Tabelle des Vorgangs wird gesperrt, wodurch die Datenbank abgestimmt ist. } / ** * Weisen Sie dem Platzhalter in der SQL -Anweisung * @param pst * @param sqlvalues * / private void setSQLValues (prepedStatement pst, listen sqlvalues) {für (int i = 0; i < pst.setObject (i+1, sqlvalues.get (i)); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); }}}}}} Unsere Schreibinformationen zum Zugriff auf die Datenbank in DB.Properties:
triver_class = com.mysql.jdbc.driver driver_url = jdbc: mysql: //192.168.22.246: 3306/importexceltest database_user = Basic Database_password = Basic
prüfen:
import Java.util.*; public class ImportExceltest {public static void main (String [] args) { /*dbhelper db = new dbHelper (); String sql = "In tb_courSetype (ID, Coursetypename) Werte ('2012003', 'QMX3') einfügen; db.setsql (SQL); db.executeUpdate ();* / /*dbhelper db1 = new dbHelper (); String sql1 = "In tb_courSetype (id, Coursetypename) Werte (?,?) Einfügen"; Liste sqlValues = new ArrayList (); SQLVALUES.ADD ("2012004"); sqlvalues.add ("qmx4"); db1.setsqlValues (SQLVALUES); db1.setsql (SQL1); db1.executeUpdate ();*/ dbhelper db = new dbHelper (); String SQL = "In tb_courSetype (id, Coursetypename) Werte (?,?)" Einfügen; Liste <List> SQLVALUES = new ArrayList (); Liste sqlvaluestring = new ArrayList (); sqlvaluestring.add ("2012010"); sqlvaluestring.add ("qmx10"); SQLVALUES.ADD (SQLVALUESTRING); Liste sqlvaluestring1 = new ArrayList (); sqlvaluestring1.add ("2012011"); sqlvaluestring1.add ("qmx11"); SQLVALUES.ADD (SQLVALUESTRING1); Liste sqlvaluestring2 = new ArrayList (); sqlvaluestring2.add ("2012012"); sqlvaluestring2.add ("qmx12"); SQLVALUES.ADD (SQLVALUESTRING2); Liste sqlvaluestring3 = new ArrayList (); sqlvaluestring3.add ("2012013"); sqlvaluestring3.Add ("qmx13"); SQLVALUES.ADD (SQLVALUESTRING3); db.setsqlValue (SQLVALUES); db.setsql (SQL); db.executeUpDatemore (); }}