从数据库中读取表中数据然后写到txt文件中

package com.tr.readdata;


import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;


/**
 * 主函数运行
 * 
 * @author Frank.dai
 *
 */
public class Execution {


public static void main(String[] args) {


String sql = "select seq_No,bill_No,policy_No,certi_No,amount,return_code,return_desc from t_pa_nb_list"; // 查询sql
List<Object> retList = new ArrayList<Object>();
String url = "jdbc:mysql://10.8.9.11:3306/trshdev_dw_aml"; // 连接数据库url,ip和dbscheme换成自己的
String user = "trshdev_dw_aml";
String password = "123456";
try {
Class.forName("com.mysql.jdbc.Driver"); // mysql的格式,其他的相应替换
Connection conn = DriverManager.getConnection(url, user, password); // 用户名和密码换成自己的
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
BigDecimal seqNo = rs.getBigDecimal(1); // 获取的表字段换成自己需要的
String billNo = rs.getString(2);
String policyNo = rs.getString(3);
String certiNo = rs.getString(4);
BigDecimal amount = rs.getBigDecimal(5);
String returnCode = rs.getString(6);
String returnDesc = rs.getString(7);
retList.add(seqNo);
retList.add("|");
retList.add(billNo);
retList.add("|");
retList.add(policyNo);
retList.add("|");
retList.add(certiNo);
retList.add("|");
retList.add(amount);
retList.add("|");
retList.add(returnCode);
retList.add("|");
retList.add(returnDesc);
System.out.println(seqNo+billNo+policyNo+certiNo+amount+returnCode+returnDesc);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();//此时打印它获取的是系统当前时间
calendar.add(Calendar.DATE, -1);    //得到某一天
String  yestedayDate= new SimpleDateFormat("yyyyMMdd").format(calendar.getTime());
String path = "E:\\JKLIFE\\REQ\\";
String filePath = path+yestedayDate+".txt";
File file = new File(filePath);
if (!file.exists()) {
   try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
  }
OutputStreamWriter write;
String encoding = "UTF-8";
try {
write = new OutputStreamWriter(new FileOutputStream(file),encoding);
BufferedWriter writer = new BufferedWriter(write);
for (Object obj : retList) {
writer.write(obj.toString()); // 输出流写入到文件中
}
writer.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值