码迷,mamicode.com
首页 > 其他好文 > 详细

7-22总结

时间:2017-07-23 00:51:06      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:类型   readline   mysql   put   建立   connect   .com   数据   sheet   

今天学了一个批量添加的一个方法

Connection conn=加载连接数据库.

InputStream ips=new FileInputStream("文件路径");

Reader reader=new InputStream(ips);

BufferedReader bffr=new BufferedReader(reader);

PreparedStatement ppst=conn.prepareStatement("执行语句");

ResultSet rs=ppst.executeQuery();

conn.setAutoCommit(false);// 关闭自动提交.事务

bffr.readLine();//去掉表头.

String ling;

int number=0;

while((line=bffr.readLine())!=null)//line=bffr.readLine()当为空时line=null.
{
String [] newline=line.split(",");
String phoneNumber1=newline[1].replace("\"", "");
String phoneNumber=phoneNumber1.substring(0, 6);
String Areaplace=newline[2].replace("\"", "");
String NumberType=newline[3].replace("\"", "");
System.out.println("手机前六位"+phoneNumber+",地区:"+Areaplace+",运营商类型:"+NumberType);

ppst.clearParameters();//ppst.clearBatch();/////////////////////清楚前面的参数
ppst.setString(1, phoneNumber1);
ppst.setString(2, Areaplace);
ppst.setString(3, NumberType);
ppst.addBatch();                                        //////////////////////批量提交
number++;
if(number%500==0) 
{
ppst.executeBatch();                               
}
}
ppst.executeBatch();
conn.commit();
System.out.println("导入成功");
long endms=System.currentTimeMillis();
System.out.println("执行耗时:"+(endms-startms)+"毫秒");
}

利用POI类来加载exl表格.exl表格相当于是一个sheet表的集合.里面有几个sheet就有几张表.然后按照 行.没一行的cell来获取数据.通过for循环可以遍历数据.

然后通过

ppst.clearParameters();//清楚之前的参数.
ppst.setString(1, ""+i);
ppst.setString(2, id1);//第一个参数代表id1
ppst.setString(3, dz);//第二个参数代表dz
ppst.addBatch();//装到箱子里

来遍历  写入到数据库中.//////////刚开始感觉这个方法挺笨的.

// HSSFWorkbook wb=new HSSFWorkbook();创建一个wookbook文件用来收集exl的信息
// sql="C:\\Users\\Administrator\\Desktop\\新建文件夹\\MySQL基础和JDBC\\身份证所在地.xls"
// 表的路径
// HSSFSheet sheet=wb.createSheet("Sheet1");//创建表1
// HSSFRow row=sheet.createRow(0);//创建每一列
// HSSFCell cell=row.createCell(0);//创建每一格子

InputStream ips = null;
Connection conn = null;
PreparedStatement ppst = null;
ResultSet rs = null;
try
{
ips = new FileInputStream("C:\\Users\\Administrator\\Desktop\\新建文件夹\\MySQL基础和JDBC\\身份证所在地.xls");
conn = JdbcUtils.createConnection();
ppst = conn.prepareStatement("Insert into t_idnumber(Id,id1,dz)values(?,?,?)");
conn.setAutoCommit(false);
long sms = System.currentTimeMillis();
HSSFWorkbook wb = new HSSFWorkbook(ips);//建立文件夹获取ips的字节流.
Sheet sht = wb.getSheetAt(0);//获得第一张表的信息
int number = 0;
for (int i = 1; i < sht.getLastRowNum() + 1; i++)// 遍历第一张表的每一行的数据直到最后一行.
{
Row r = sht.getRow(i);

7-22总结

标签:类型   readline   mysql   put   建立   connect   .com   数据   sheet   

原文地址:http://www.cnblogs.com/yqwstart2017/p/7223286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!