Cet article décrit la méthode de mise en œuvre de Java pour exporter de grandes quantités d'enregistrements de données d'une base de données et les enregistrer dans un fichier. Partagez-le pour votre référence, comme suit:
Script de base de données:
- Tableau "T_Test" Ddlcreate Table `T_Test` (` Id` int (11) pas null auto_increment, `title` varchar (255) par défaut null,` CreateTime` bigint (20) par défaut, p rimary key (`id` )) Moteur = innodb Charset par défaut = utf8;
Code:
package com.yanek.test; Java.sql.Connection; (String [] args) {test (); } / ** * Données d'exportation * / public static void exp () {connexion conn = null; : / /127.0.0.1:3306/TESTCMS?CHARACTERENCODING=GBK "; String JDBCUSERNAME =" ROOT "; String JdbcPassword =" ROOT "; Conn = DriverManager.GetCasswection (J dbcurl, jdbCuserName, JDBCPassword); System.out.Println ( "Conn" + Conn); IllégalAccessException e) {// TODO Bloc de capture généré par Auto E.PrintStackTrace ();} Catch (ClassNotFoundException e) {// TODO Generated Catch Block E.PrintStackTrace (); } catch (sqlexception e) {// TODO Block de catch généré par Auto E.PrintStackTrace ();}}} public static void exp (int startId) {connection conn = null; .Driver ") .newInstance (); String jdbcurl =" jdbc: mysql: //127.0.0.1: 3306 / testcms? CharacterEncoding = gbk "; String JdbCuserName =" root "; string jdbcpassw ord =" root "; connu = driverManager .getConnection (jdbcurl, jdbcusename, jdbcpassword); {// Bloc de catch généré par Auto-généré E.PrintStackTrace ();} Catch (IllégalAccessException e) {// TODO GÉNÉRATEUR AUTO-GÉNÉRÉ E.PRINTSTACKTRACE (); Catch Block E.PrintStackTrace ();} Enfin {Try {Conn.close ();} Catch (SQLEXception E) {// TODO GÉNÉRAGE AUTO De startid * @ param Conn * @param start_id * / public static void exp (connexion con, int start_id) {int compter = 0; = "SELECT * FROM T_TEST WHERE ID>" + startId + "Ordre par ID ASC Limit 50"; RS = S tmt.ExecuteQuery (SQL); ; Counter ++; println ("i =" + compteur + "-" + id + "- title -" + title);} Rs.Close (); ();}} writeContent ("" + startid, "/opt/" ,"id.txt",false); ) {int compteur = 0; De T_Test où CreateTime> "+ TimeStamp +" Limit 50 "; System.out.println (" SQL === "+ SQL); try {instruction stmt = conn.createStatement (); resultSet rs = stmt.Executequery (s ql ); ; )); ; JDBCPassword); ; Block E.PrintStackTrace ();} Catch (classNotFoundException e) {// TODO GÉNÉRAGE AUTO-GÉNÉRÉ E.PRINTSTACKTRACE (); Bloc de capture généré par Auto E.PrintStackTrace ();}}} public static void add (connection conn, string title) {préparé Pstmt = null; "; System.out.println (" sql = "+ insert_sql); try {pstmt = conn.preparestatement (insert_sql); pstmt.setstring (1, title); pstmt.setlong (2, system.currentTimemillis (); Ret = Pstmt.ExecuteUpDate ();} Catch (SQLEXCEET E) {// TODO BLOCK DE CATTER AUTO AUTO Catch généré automatiquement Bloc K E.PrintStackTrace ();}}} / ** * Écrivez du contenu dans le fichier * * @param numéro * @param filename * @return * / public static boolean writeContent (String c, String dirname, String filename , booléen i sapnd) {file f = new file (dirname); ; } / ** * Lire le contenu du fichier * * @param :::::::::::::::::::::::::::::: devi. : :::::::::::::::::::::::::::::::::::- ::::::::::::::::::::::::::::::::::::::::- (String FileName) {String Content = ""; String str = ""; String Newline = ""; fr.close ();}} catch (ioException e) {e.printStackTrace ();Idée de base: il s'agit de commencer à enregistrer l'ID et d'exécuter plusieurs fois SQL pour le traiter.
Utilisations principales: Il peut être utilisé dans des scénarios où la sortie incrémentielle de données est fournie à des tiers pendant le développement de l'interface.
J'espère que cet article sera utile à la programmation Java de tous.