电信采集项目java说明书_电信采集之数据处理

packagecom.briup.woss.Server;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.Timestamp;importjava.util.ArrayList;importjava.util.Collection;importjava.util.List;importjava.util.Properties;importcom.briup.util.BIDR;importcom.briup.util.BackUP;importcom.briup.util.Configuration;importcom.briup.util.Logger;importcom.briup.woss.ConfigurationAWare;importcom.briup.woss.server.DBStore;public class DBStoreImpl implementsDBStore,ConfigurationAWare{/** driver=oracle.jdbc.driver.OracleDriver

* url=jdbc:oracle:thin:@localhost:1521:XE username=oracle password=orcle*/

private staticString driver;private staticString url;private staticString username;private staticString password;private staticConnection connection;privateString aaa_login_name;privateString login_ip;privatejava.sql.Date login_date;privatejava.sql.Date logout_date;privateString nas_ip;privateString time_duration;private inti_date;private static PreparedStatement[] ps = new PreparedStatement[31];;

String sql;static int i = 0;private static String pathName = "src/com/briup/woss/File/list.txt";

Configuration conf=null;//存放完整数据

static List list = new ArrayList<>();

@Overridepublic voidinit(Properties p) {

driver=p.getProperty("driver");

url=p.getProperty("url");

username=p.getProperty("username");

password=p.getProperty("password");

}

@Overridepublic void saveToDB(Collection collction) throwsException {

BackUP bi=conf.getBackup();

Logger log=conf.getLogger();try{//注册驱动

Class.forName(driver);//创建连接

connection =DriverManager.getConnection(url,username,password);

System.out.println(connection);for (int i = 0; i < 31; i++) {

sql= "insert into t_detail_" +i+ "(aaa_login_name,login_ip,login_date,logout_date,nas_ip,time_duration) "

+ "values(?,?,?,?,?,?)";

ps[i]=connection.prepareStatement(sql);

}//connection最多创建300个prepareStatement//将ps = connection.prepareStatement(sql);放在下面的for (BIDR bidr : collction)里面遍历,由于遍历次数过多,会出现超出游标最大值异常//遍历31次,与下面遍历bidr对象时,存储信息时的ps相对应

for(BIDR bidr : collction) {

Timestamp login_d=bidr.getLogin_date();

String s_date=login_d.toString();

String[] str1= s_date.split(" ");

String[] str2= str1[0].split("-");

i_date= Integer.parseInt(str2[2]);

aaa_login_name=bidr.getAAA_login_name();

login_ip=bidr.getLogin_ip();

login_date= newjava.sql.Date(bidr.getLogin_date().getTime());

logout_date= newjava.sql.Date(bidr.getLogout_date().getTime());//通过PreparedStatement将信息存储到数据库中

ps[i_date].setString(1, aaa_login_name);

ps[i_date].setString(2, login_ip);

ps[i_date].setDate(3, login_date);

ps[i_date].setDate(4, logout_date);

ps[i_date].setString(5, nas_ip);

ps[i_date].setString(6, time_duration);//执行sql

ps[i_date].executeUpdate();

i++;if (i == 200) {

i= 1 / 0;

}

list.add(bidr);

System.out.println("插入数据成功!");

}

log.info("入库数据的个数" +list.size());

collction.removeAll(list);

log.info("未入库数据的个数" +collction.size());

}catch(Exception e) {

connection.rollback();

bi.store(pathName, list, BackUP.STORE_OVERRIDE);//对象.字段会出现黄色波浪线,可以改成类名.字段

log.debug("备份数据为"+list.size());

log.debug("未入库数据的个数" +collction.size());

log.debug("插入个数为:"+i);

}

}/*public static void main(String[] args) throws Exception {

GatherImpl ga = new GatherImpl();

new DBStoreImpl().saveToDB(ga.gather());

System.out.println("备份数据的个数为:" + list.size());

System.out.println(i);

}*/@Overridepublic voidsetConfiguration(Configuration co) {//TODO Auto-generated method stub

this.conf=co;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介 本项目是一套基于JavaWeb的业务信息采集分析系统,主要针对计算机相关专业的正在毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该超市业务信息采集分析系统采用B/S结构,使用JAVA开发语言,以MySQL作为后台数据库。该系统共包含两种角色:员工和管理员。 系统的主要功能模块如下: 1.系统管理 系统登陆、系统退出、修改密码 2.员工信息管理 员工用户管理、增加员工用户、员工用户查询 3.商品信息管理 商品信息管理、增加商品信息、商品信息查询 4.货架信息管理 货架信息管理、增加货架信息、货架信息查询 5.商品类型管理 商品类型管理、增加商品类型 6.进货信息管理 进货信息管理、增加进货信息、进货信息查询 7.销售信息管理 销售信息管理、增加销售信息、销售信息查询 8.库存信息管理 库存信息盘点、库存信息查询、缺货信息提醒 9.盈利信息管理 盈利信息查询、盈利信息统计、盈利信息分析 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值