mock数据。根据表中一天的数据模拟其他日期的数据
package test;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Date; public class JDBCTest { public static void main(String[] args) { // 驱动程序名
String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名
String url = "jdbc:mysql://172.33.0.190:3306/report"; // MySQL配置时的用户名
String user = "root"; // MySQL配置时的密码
String password = "123456"; try {
Class.forName(driver); Connection conn = DriverManager.getConnection(url, user, password); if (!conn.isClosed())
System.out.println("Succeeded connecting to the Database!"); Statement statement = conn.createStatement(); // String showTables = "show tables";
//
// ResultSet rs = statement.executeQuery(showTables);
//
// System.out.println("-----------------");
ResultSet rs=null; List tableLists = new ArrayList();
//tableLists.add("rpt_ci_cinema_summary_dt");
//tableLists.add("bm_ykfp_cinema_film_hall_ticket_dt");
//tableLists.add("rpt_fm_cinema_film_ticket_dt");
//tableLists.add("rpt_ci_cinema_hall_ticket_dt");
//tableLists.add("rpt_ci_cinema_payment_ticket_dt");
//tableLists.add("rpt_shop_cinema_goods_trade_dt");
//tableLists.add("rpt_shop_cinema_goods_chanl_trade_dt"); //tableLists.add("rpt_shop_cinema_goods_item_trade_dt");
//tableLists.add("rpt_shop_cinema_goods_combo_item_trade_dt");
//tableLists.add("rpt_fm_cinema_film_summary_dt");
tableLists.add("rpt_memb_cinema_membcard_addmoney_detail");
System.out.println(tableLists); /*while (rs.next()) {
String name = rs.getString(1);
if (name.startsWith("rpt") && name.endsWith("dt") && name.indexOf("_tr_") == -1)
tableLists.add(name);
}*/ // list2.stream().forEach(key -> System.out.println(key));
tableLists.stream().forEach(System.out::println); System.out.println("-----------------"); List dateLists = new ArrayList(); Date d1 = new SimpleDateFormat("yyyyMMdd").parse("20150101");//定义起始日期
Date d2 = new SimpleDateFormat("yyyyMMdd").parse("20160801");//定义结束日期
Calendar dd = Calendar.getInstance();//定义日期实例
dd.setTime(d1);//设置日期起始时间
while(dd.getTime().before(d2)){//判断是否到结束日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
java.lang.String str = sdf.format(dd.getTime());
System.out.println(str);//输出日期结果
dd.add(Calendar.DATE, 1);//进行当前日期加1
dateLists.add(str);
}
/*for (int i = 20160101; i < 20160132; i++) {
dateLists.add(String.valueOf(i)); }*/
System.out.println("-----------------" + dateLists.size());
dateLists.stream().forEach(System.out::println); for (int k = 0; k <dateLists.size(); k++) {
String dateStr=(String)dateLists.get(k);
System.out.println("----------" + dateStr); for (int j = 0; j < tableLists.size(); j++) { String tableName = (String) tableLists.get(j); String descTable = "desc " + tableName; rs = statement.executeQuery(descTable); List columnNameList = new ArrayList(); while (rs.next()) {
String name = rs.getString(1);
if (name != null)
columnNameList.add(name);
}
System.out.println("-----------------"); // String sqlSelect = "select * from
// "+"rpt_ci_cinema_chanl_new_trade_dt";
// String sqlInsert = "insert into student (Name,Sex,Age)
// values(?,?,?)"; String insertTable = "replace into" + " " + tableName + " " + "( ";
int columnNameSize = columnNameList.size();
for (int i = 0; i < columnNameSize; i++) {
insertTable += columnNameList.get(i);
if (i != columnNameSize - 1)
insertTable += ",";
}
insertTable += " )"; // ******Need change the date "20160502" to dateStr
insertTable += " select '"+ dateStr +"' AS BIZDATE,"; for (int i = 1; i < columnNameSize; i++) {
insertTable += columnNameList.get(i);
if (i != columnNameSize - 1)
insertTable += ",";
} insertTable += " from " + tableName + " where biz_date='20160601' "+";"; System.out.println("" + insertTable); statement.execute(insertTable); System.out.println("--####Finished execute insert into table : " + tableName);
} } rs.close();
conn.close(); } catch (ClassNotFoundException e) { System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally{
System.out.println("********************All Completed*****************");
}
}
}
mock数据。根据表中一天的数据模拟其他日期的数据的更多相关文章
- 【Excle】如何隐藏数据透视表中的错误值
如下:数据透视表出现错误 怎么解决呢 步骤 方法① 单击数据透视表任意单元格→数据透视表工具→分析→选项→勾选"对于错误值显示"→确定 方法② 右键→数据透视表选项(同样可以修改)
- 使用SqlBulkCopy批量插入多条数据进入表中
由于工作中项目需求结算一次生成一批相同批次号的数据插入一个表中,然后再通过另一页面展示出来,所以需要用到一次性插入一批数据,所以就采用了SqlBulkCopy插入一批数据 1 public stati ...
- 在已有数据的表中添加id字段并且自增
各位大牛,小弟在开发过程中,遇到了这样一个问题,由于新功能的增加需要使原有的一张表的结构作出调整,需要添加一个id主键字段,但是因为表里有很多数据了,所以,怎样才能添加这个字段,并且使原有的数据也能够 ...
- 大数据量表中,增加一个NOT NULL的新列
这次,发布清洗列表功能,需要对数据库进行升级.MailingList表加个IfCleaning字段,所有的t_User*表加个IfCleaned字段. 脚本如下 对所有的t_User表执行 a ...
- 【Excle数据透视表】如何得到数据透视表中某个汇总行的明细数据
例如: 现在想得到"北京 汇总"的明细数据,该怎么处理呢? 步骤 右键数据透视表任意单元格→数据透视表选项→启用显示明细数据→确定→单击"北京 汇总"行最后一个 ...
- 十几万条数据的表中,基于帝国cms 。自己亲身体验三种批量更新数据的方法,每一种的速度是什么样的
需求是 上传Excel 读取里面的数据.根据Excel中某一个字段,与数据表中的一个字段的唯一性.然后把 Excel表中数据和数据库表中数据一次更改.本次测试一次更新31条数据. 本次测试基于帝国cm ...
- 【Excle数据透视表】如何在数据透视表中使用合并单元格标志
先有数据透视表如下: 现在看着这个格式不舒服,我们希望调整成如下这种样式 步骤 单击数据透视表任意单元格→右键→数据透视表选项→布局和格式→合并且居中排列带标签的单元格 注意:如果数据透视表报表布局不 ...
- Oracle中如何添加和修改包含日期的数据
平时我们在sql sverver中我们添加包含日期的数据时,是直接将日期变成日期格式字符串,但是在Oracle中就不行了, 那么,如何添加包含日期数据 如:在oracle执行insert语句 /** ...
- (转载)IQ 16.0 SP02起支持从压缩文件直接装载数据到表中
参考文档: http://m.blog.chinaunix.net/uid-16765068-id-4405877.htmlhttp://www.cnblogs.com/lichmama/p/4103 ...
随机推荐
- codevs 2915 期末考试
时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 期末考试要来了,某同学正在努力复习. 他要复习N个知识点,每个知识点需要一定的知识 ...
- (五)maven之外置maven
eclipse外置maven eclipse内置的maven插件是固定版本,如果要用其他版本的maven,可以使用外置maven. ① 在菜单栏上点击“Windows”à“Preferences ...
- 原生js格式化json的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- core 下使用 autofac
依赖注入小伙伴们比较常了,这里只说core 下autofac依赖注入的使用 ,不多费话,直接代码. 在 Startup.cs里 public void ConfigureServices(IServi ...
- Python 基础-3
使用while打印1 2 3 4 5 6 8 9 10 count = 0 #while count < 10: while count < 10: count += 1 if co ...
- OpenCascade: 获取边的端点
FirstV = TopExp::FirstVertex(aEdge1); LastV = TopExp::LastVertex(aEdge1);
- Mac如何让调整窗口大小更简单
在使用Mac的时候,你能把鼠标的光标悬停在任何程序的边缘,当光标自动变成箭头样式后,按住鼠标左键你将能随意拖动来改变程序窗口的大小.但是,这里有个问题,我们有时候很难控制把鼠标光标移动在正确的窗口边缘 ...
- Oracle 回顾
Oracle 函数 日期函数: 1.sysdate--查询当前日期 select sysdate from dual; --查询当前日期 2.months_between--返回两个日期之间的月份差 ...
- initWithNibName:bundle awakeFromNib 区别
initWithNibName:bundle 定义:is a message sent to a view (or window) controller in order to create the ...
- [LUOGU] P1828 香甜的黄油 Sweet Butter
题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...