`

Java 数据库导出txt

    博客分类:
  • JAVA
阅读更多
package com.dtbridge.loan.util;

import java.io.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.apache.log4j.Logger;

import com.dtbridge.core.util.Connect;
import com.dtbridge.loan.dayend.sqlmapdao.DayLoanBaseSqlMapDaoNew;

public class 信贷导文本 {
	private static final Logger log = Logger.getLogger(DayLoanBaseSqlMapDaoNew.class.getName());
	public Connect connect = new Connect("jdbc.properties");
	private static 信贷导文本 instance = null;
	private FileWriter fileWriter = null;
	private boolean isWriteFirstLine;
	private long startTime = 0;
	private long endTime = 0;
	private int resultFieldsLength = 0;
	private int errFieldIndex=0;
	private int loopStep = 0;
	private StringBuffer lineStr = null;
	
	public static synchronized 信贷导文本 getInstance() {
		if (instance == null)
			instance = new 信贷导文本();
		return instance;
	}
	
	private Connection conn = connect.getConnection();
	public Statement stmt = null;
	
	public 信贷导文本(){}
	
	
	public void 导出信贷公司客户信息表(){
		log.info("(2): 导出信贷公司客户信息表开始: 导出文件名称为 D://信贷公司客户信息表.txt");
		startTime = System.currentTimeMillis();
		isWriteFirstLine = true;
		String[] resultFields = {"cus_id","loan_id","cn_com_name","com_kind","cus_field","cus_kind","org_id","rep_name","rep_person_id","com_reg_id","Nat_Tax_Id","Loc_Tax_Id","Reg_Capital","Acc_Permit","current_address","Com_Phone","class_1","class_2","class_gb","opt_capital","in_credit_class","reg_org_id","reg_by_id","reg_date"};
		String[] resultFieldsName = {"客户号","贷款卡号","客户名称","企业性质","客户所属领域","客户种类","组织机构代码","法定代表人","法定代表人身份证号码","营业执照号码","国税登记证号","地税登记证号","注册资本","开户许可证","办公地址","联系电话","行业大类","行业中类","行业分(小)类","企业规模","内部信用等级","登记机构","登记人","登记日期"};
		String sql = "select cus_id,loan_id,cn_com_name,com_kind,cus_field,cus_kind,org_id,rep_name,rep_person_id,com_reg_id,Nat_Tax_Id,Loc_Tax_Id,Reg_Capital,Acc_Permit,current_address,Com_Phone,class_1,class_2,class_gb,opt_capital,in_credit_class,reg_org_id,reg_by_id,reg_date from cus_com";
		ResultSet rs = null;
		int totalRows = 0;
		try {
			stmt = conn.createStatement();
			fileWriter = new FileWriter(new File("D://信贷公司客户信息表.txt"));
			rs = stmt.executeQuery(sql);
			while(rs.next()){
				fileWriter.write(getLinedString(rs,resultFields,resultFieldsName,","));
			}
			if(fileWriter !=null)
				fileWriter.close();
			totalRows = rs.getRow();
			if(rs != null)
				rs.close();
		} catch (SQLException e) {
		} catch (FileNotFoundException e) {
		} catch (IOException e) {
		} catch (Exception e) {
		} 
		endTime = System.currentTimeMillis();
		log.info("导出信贷公司客户信息表结束: 共导出 '" + totalRows + "' 条! 共耗时: " + Math.round((endTime - startTime)/60000.0) + "分钟!");
	}

	
	
	private String getLinedString(ResultSet rs,String[] resultFields,String[] resultFieldsName,String decifer) throws Exception{
		if(resultFields.length!=resultFieldsName.length)
			throw new Exception("要导出的字段名称与字段名称说明的长度不一致!");
		if(lineStr == null)
			lineStr = new StringBuffer(800);
		else
			lineStr.delete(0,lineStr.length());
		resultFieldsLength = resultFields.length;
		try {
			if(isWriteFirstLine){
				for(loopStep=0; loopStep<resultFieldsName.length; loopStep++){
					lineStr.append(resultFieldsName[loopStep])
					.append(decifer);
				}
				lineStr.append("\r\n");
			}
			isWriteFirstLine = false;
			for(loopStep=0; loopStep<resultFieldsLength; loopStep++){
				errFieldIndex = loopStep;
				if(rs.getString(resultFields[loopStep]) != null)
					lineStr.append(rs.getString(resultFields[loopStep]).trim())
						.append(decifer);
				else
					lineStr.append("")
						.append(decifer);
			}
			lineStr.deleteCharAt(lineStr.lastIndexOf(decifer)).append("\r\n");
		} catch (SQLException e) {
			log.info("要导出的表数据中没有这个字段: '" + resultFields[errFieldIndex] + "'");
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return lineStr.toString();
	}
	
	public void dataExport(){
		log.info("信贷导数程序开始:");
		long start = System.currentTimeMillis();
		导出信贷公司客户信息表();

		try {
			if(stmt != null)
				stmt.close();
			if(conn != null)
				conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		long end = System.currentTimeMillis();
		log.info("信贷导数程序结束: 共耗时: " + Math.round((end - start)/60000.0) + "分钟!");
	}
	
	public static void main(String []a){
		信贷导文本.getInstance().dataExport();
	}
}

分享到:
评论

相关推荐

    java导入txt到数据库 从数据库导出txt

    ### 从数据库导出到TXT 1. **连接数据库**:同样使用JDBC建立数据库连接。 2. **执行SQL查询**:编写`SELECT`语句,获取需要导出的数据。可能需要`JOIN`、`WHERE`等条件来定制查询。 3. **处理结果集**:使用`...

    java操作数据库 导出excel

    总结来说,完成"java操作数据库导出excel"的任务,你需要掌握以下关键点: 1. 使用JDBC连接数据库,执行SQL查询。 2. 处理ResultSet,获取查询结果。 3. 引入Apache POI库,创建Excel工作簿和工作表。 4. 将数据库...

    java 数据库导出工具

    Java 数据库导出工具是一种程序,它允许用户将数据库中的数据导出为XML文件格式。XML(eXtensible Markup Language)是一种结构化数据存储格式,广泛用于数据交换和存储,因为它具有良好的可读性和跨平台兼容性。...

    使用java把数据库数据导出生成xml文件

    使用java把数据库数据导出生成xml文件 使用java把数据库数据导出生成xml文件

    java导出TXT和Excel文件

    搭建SSH框架,利用JSP前台调用Action类中的方法,从数据库读出数据,导出TXT文件和Excel文件。TXT文件导出只用到流操作。导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010...

    把任意数据库导出为其它数据库的insert(可执行程序+java代码)

    此软件用于把数据库里的数据导出为指定数据库类型的insert语句,用于数据备份或迁移到另一个数据库, 大文本和二进制字段被忽略。 当前支持oracle、sybase、mysql和ms sqlServer数据库。 你可以修改参数文件、增加新...

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    java使用jdbc将数据库数据导出到csv文件.pdf

    Java 使用 JDBC 将数据库数据导出到 CSV 文件 Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出...

    Java导出Oracle数据库数据

    Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。Oracle 是一种关系数据库管理系统,广泛应用于企业级应用中。在实际项目中,数据备份和恢复是非常重要的工作。本文将介绍如何使用 ...

    java数据库结构导出工具

    《Java数据库结构导出工具详解》 在信息技术领域,数据库管理是至关重要的组成部分,而数据库结构的导出工具则是数据库管理中的实用利器。本文将详细探讨一个基于Java编写的数据库结构导出工具,该工具旨在帮助...

    java导出txt文件,并以&分隔符每个字段数据

    java导出txt文件,并以&分隔符每个字段数据,全部代码

    java 从mysql数据库导出数据生成xml文件

    java 从mysql数据库导出数据生成xml文件,新手来的,不喜勿喷

    Java数据库导出程序2.0版

    可以快速将SQL2000数据库里的所有数据导出为INSERT的SQL语句。由于Oracle有这个功能所以为添加。附全部程序源码,MYECLIPSE5.5版本运行cn.sist.database.swing.MainView

    java实现mysql数据库的表导出到excel文件

    本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...

    jxl从数据库导出到excel工具包

    **标题解析:**"jxl从数据库导出到excel工具包" 这个标题表明我们要讨论的是一个使用jxl库来帮助从数据库中导出数据并将其格式化为Excel文件的工具包。jxl是一个广泛使用的Java库,允许开发者读取、写入和修改Excel...

    数据库导出为html页面源码和POM文件依赖,java导出数据库表结构为html

    具体到这个例子,`DatabaseExportApplication.java`很可能是项目的主要入口点,包含实际的数据库导出逻辑。而`pom.xml`文件则会列出所有必要的依赖,比如MySQL或Oracle的JDBC驱动,以及可能用到的模板引擎库。在POM...

    用JAVA将数据库导入csv程序

    本项目关注的是如何使用Java编程语言将数据库中的记录导出为CSV(Comma Separated Values)格式的文件。CSV因其通用性和易于处理的特性,被广泛应用于数据交换。 首先,让我们深入了解CSV文件格式。CSV是一种简单的...

    java导出orcale数据库dmp文件

    本文将详细讲解如何使用Java编程语言来导出Oracle数据库的DMP(Data Pump)文件,实现数据库的备份。DMP文件是一种高效的Oracle数据库导入/导出格式,它能快速地迁移大量数据。 首先,我们需要了解Java中与Oracle...

    JAVA数据库小工具

    **JAVA数据库小工具详解** 在IT领域,数据库管理是至关重要的任务之一,而JAVA数据库小工具则为开发者提供了一种方便、高效的手段来处理数据库相关的操作。这些工具通常集成了连接数据库、执行SQL语句、数据浏览、...

    java调用mysql命令 导入导出数据库

    在Java编程中,有时我们需要对MySQL数据库进行导入和导出操作,这通常涉及到数据库的备份、迁移或数据恢复。在给定的标题“java调用mysql命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,...

Global site tag (gtag.js) - Google Analytics