Dieser Artikel beschreibt die Java -Implementierungsmethode zum Exportieren großer Datensätze aus einer Datenbank und dem Speichern in einer Datei. Teilen Sie es für Ihre Referenz wie folgt weiter:
Datenbankskript:
- Tabelle "t_test" ddlcreate table `t_test` (` id` int (11) nicht null auto_increment, `title` varchar (255) Standardnull,` createTime` bigint (20) Standardnull, P-Rimary-Taste (`id` )) Motor = innoDB Standard charSet = utf8;
Code:
Paket Com.anek.test; Java.SQL.Connection; (String [] args) {test (); } / *** Daten exportieren* / public void exp () {connection conn = null; ://127.0.0.1:3306/TESTCMS?Charactercoding=gbk "; String jdbcusername =" root "; String jdbcpassword =" root "; conn = driverManager.getConnection (j dbcurl, jdbcusername, jdbcpassword); "conn" +conn); IllegalAcessException e) {// todo automatisch generiertes Block E.printstacktrace (); } catch (SQLEXception E) {// todo automatisch erzeugte Fangblock E.printstacktrace (); .Driver ") .NewinStance (); String jdbcurl =" jdbc: mysql: //127.0.0.1: 3306/testcms? CharakterCoding = gbk "; .GetConnection (JDBCURL, JDBCUSERNAME, JDBCPASSWORT); {// todo auto- generiertes block e.printstacktrace (); Block E. printstacktrace (); von startid * @ param conn * @param start_id */ public static exp (Verbindung conn, int start_id) {int counter = 0; = "SELECT * VON T_TEST WHERE ID>" + STARTID + "Order Id ASC Limit 50"; rs = s tmt.executequery (SQL); ; println ("i ="+counter+"-"+id+"-title-"+title); (); ) {int counter = 0; Von t_test wobei createTime> " + timestamp +" limit 50 "; ) while (rs.Next ()) {Flag = true; ; ); ; JDBCPassword); ;}} catch ( Block E.PrintStacktrace (); Automatisch generierter Block E. printstacktrace (); "; ret = pstmt.executeUpdate (); Automatisch generierter Catch BLOC K E. PrintstackTrace (); , boolean i sappend) {Datei f = neue Datei (DirName); ; } /*** Inhalt aus der Datei lesen** @param :::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::::::::::: MANENAME * @RETURN */ public static String ReadText (String Dateiname) {String content = ""; String Str = ""; fr.close ();Grundlegende Idee: Aufgrund der großen Datenmenge kann es nicht genügend Speicher und Fehler geben, um sie mehrmals zu verarbeiten.
Hauptnutzung: Es kann in Szenarien verwendet werden, in denen Dritte während der Schnittstellenentwicklung inkrementelle Datenausgaben zur Verfügung gestellt werden.
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.