`
XiAoOMAn07
  • 浏览: 75660 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

批量导入数据库 及部分更新操作

阅读更多
package saveToDB;

import java.text.ParseException;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.sql.BatchUpdateException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.io.*;

import entity.StockPrice;

import manager.StockPriceCollecter;

import tool.MyConn;

public class SaveToMySQL {
	/**
	 * updateCount
	 * TO: 为这星期的更新操作准备
	 * @param updateCounts
	 */
	public static void checkUpdateCounts(int[] updateCounts) {
	    for (int i = 0; i < updateCounts.length; i++) {
	      if (updateCounts[i] >= 0) {
	        System.out.println("Successfully executed; updateCount=" + updateCounts[i]);
	      } else if (updateCounts[i] == Statement.SUCCESS_NO_INFO) {
	        System.out.println("Successfully executed; updateCount=Statement.SUCCESS_NO_INFO");
	      } else if (updateCounts[i] == Statement.EXECUTE_FAILED) {
	        System.out.println("Failed to execute; updateCount=Statement.EXECUTE_FAILED");
	      }
	    }
	  }
	/**
	 * 存储stockPriceList到数据库中
	 * @return
	 * @throws IOException 
	 * @throws ParseException 
	 * @throws ClassNotFoundException 
	 * @throws SQLException 
	 */
public void print_s(List<StockPrice> stockPriceList) throws IOException, ParseException, ClassNotFoundException, SQLException{
	
	Connection conn = null;
	PreparedStatement pstmt = null;
	System.out.println("GOOG,Connect the DataBase");
	
	StockPriceCollecter collecter = new StockPriceCollecter();
	stockPriceList =  collecter.getStockPriceInfoByDate();
	Iterator it  = stockPriceList.iterator();
	try {
		conn = MyConn.getConn();
		conn.setAutoCommit(false);
		String query = "insert into stockdde(StockCode,date,Ddx,Ddy,Ddz,changeHand,rise) values(? , ? , ? , ? , ? , ? , ? )";
		pstmt = conn.prepareStatement(query);
		while(it.hasNext()){
			//以下进行格式转换
			
				java.sql.Date sqlDate = new java.sql.Date(((Date) it.next()).getTime());			
				double sqlDdx = Double.parseDouble(String.valueOf(it.next())); 
				double sqlDdy = Double.parseDouble(String.valueOf(it.next())); 
				double sqlDdz = Double.parseDouble(String.valueOf(it.next())); 
				String sqlChangeHand =  (String) it.next();
				String sqlRise =  (String) it.next();
				pstmt.setString(1, "600004");
			    pstmt.setDate(2, sqlDate);
			    pstmt.setDouble(3, sqlDdx);
			    pstmt.setDouble(4, sqlDdy);
			    pstmt.setDouble(5, sqlDdz);
			    pstmt.setString(6, sqlChangeHand);
			    pstmt.setString(7, sqlRise);
			    pstmt.addBatch();
			                                              	
			}
		//int[] updateCounts = pstmt.executeBatch();//计算更新条目 为本周的部分工作
	   // checkUpdateCounts(updateCounts);
		pstmt.executeBatch();
	    conn.commit(); 
		
	} catch (BatchUpdateException e) {
	      int[] updateCounts = e.getUpdateCounts();
	      checkUpdateCounts(updateCounts);
	      try {
	        conn.rollback();
	      } catch (Exception e2) {
	        e.printStackTrace();
	      }
	    } catch (Exception e) {
	      e.printStackTrace();
	    } finally {
	      pstmt.close();
	      conn.close();
	      System.out.println("GOOG,Finish");
	    }
	}
		   
		

	
	private double ValueOf(Object next) {
		// TODO Auto-generated method stub
		return 0;
	}	
}

分享到:
评论

相关推荐

    图片批量导入oracle数据库

    总之,批量导入图片到Oracle数据库是一项涉及到Java编程、JDBC连接、SQL操作以及文件处理的任务。掌握这些技能对于处理大量图片数据的数据库应用至关重要,无论是Web应用、数据分析还是其他领域。通过理解和实践,你...

    Asp.net Excel批量导入数据到SqlServer数据库

    asp.net,sqlserver,导入数据,这些标签明确地表明了本文所涉及的技术领域,即 Asp.net 和 SqlServer 数据库,以及批量导入数据的操作。 部分内容解释 在网页中通过后台代码实现数据从 Excel 中批量导入到数据库中。...

    批量导入数据库中数据

    以下将详细介绍批量导入数据库中数据的相关知识点。 1. **SQL语句导入**:SQL(Structured Query Language)是用于管理和处理数据库的标准语言。在SQL中,我们可以通过`LOAD DATA INFILE`(MySQL)、`BULK INSERT`...

    批量导入Excel数据到数据库,带数据校验/事务回滚

    在.NET开发环境中,批量导入Excel数据到数据库是一项常见的任务,特别是在数据分析、系统集成或报表生成等场景中。本文将深入探讨如何实现这个过程,并重点讨论数据校验和事务回滚两个关键环节。 首先,批量导入...

    以批量方式导入数据库记录(2.0)

    批量导入数据库记录是一种高效的方法,能够极大地提高数据处理速度。在这个“以批量方式导入数据库记录(2.0)”的主题中,我们将深入探讨如何使用C#编程语言和WinForm界面来实现这一功能。 首先,C#是微软开发的一种...

    以批量方式导入导出数据库记录

    首先,批量导入数据库记录通常涉及到大量数据的快速输入,这在数据迁移、数据整合或数据分析时非常常见。有多种方法可以实现这一目标: 1. **使用SQL命令**:对于支持SQL语句的数据库(如MySQL、PostgreSQL、SQL ...

    超级列表框批量导入Access数据库例程源码

    在这个例程中,它可能被用来显示待导入数据库的数据,例如从Excel或其他来源读取的数据。 描述中提到,程序会根据超级列表框中的行数循环执行插入记录的SQL语句。这意味着程序会遍历列表框中的每一项,对每一行数据...

    neo4j批量数据导入

    通过这种方式,可以高效地执行批量导入操作,减少网络延迟。嵌入式API中的`GraphDatabaseService`是主要接口,可以用来执行Cypher查询。 3. **事务操作**:为了提高性能,批量导入通常会在单个事务中处理大量数据。...

    定时读取PDF文件,并批量插入到数据库

    在IT行业中,定时任务是常见的自动化操作,而本项目的核心在于定时读取PDF文件并将其内容批量插入到数据库。这个任务涉及到多个技术点,包括线程管理、PDF处理、数据库操作以及工具类的设计。以下是对这些知识点的...

    python工具-excel批量导入mysql (几千万数据半小时可搞定)

    在本例中,提供的`excelImport.py`脚本应该包含了上述部分或全部逻辑,用于实现快速批量导入Excel数据到MySQL数据库。根据实际需求,你可以对脚本进行调整,例如适应不同的数据库字段结构或处理更多Excel文件。

    原创易语言连接数据库,实现增、删、改、查数据库,一键导入数据库源码

    在"数据库连接及部分操作.e"源码中,我们可以学习到具体的实现细节,包括如何编写SQL语句,如何使用易语言的模块函数进行数据库操作等。通过对这段源码的学习和理解,你将能够熟练地使用易语言进行数据库交互,为...

    asp.net把execl文件导入数据库

    在ASP.NET开发中,将Excel文件导入...总结,ASP.NET将Excel文件导入数据库涉及多个步骤,包括文件读取、数据处理、数据库操作以及用户交互。这个过程需要考虑性能、安全性和用户体验,确保数据准确无误地导入数据库。

    c#批量导入excel数据到oracle数据库.rar

    本资源包提供了一个实用的解决方案,即使用C#编程语言批量导入Excel数据到Oracle 11G数据库。以下将详细阐述这个过程涉及的关键知识点。 首先,我们要了解C#。C#是由微软开发的一种面向对象的编程语言,广泛应用于...

    数据库操作,包括把csv或excel表格导入数据库及各种SQL语言操作.zip

    在这个主题中,我们将探讨如何将CSV或Excel表格导入数据库以及如何使用SQL语言进行各种操作。CSV(Comma Separated Values)和Excel是常见的数据存储格式,广泛用于数据交换和分析。 **一、CSV和Excel表格** CSV是...

    Spring框架实现Excel批量导入数据

    5. **批量导入到数据库**: Spring框架提供了JdbcTemplate或MyBatis等工具,可以方便地与数据库进行交互。将验证过的数据以批量的方式插入到数据库中,可以显著提高性能。在Spring Boot项目中,可以使用@...

    endnote批量导入enw文件

    这有助于批量导入操作的顺利进行。 2. **启动EndNote**:打开EndNote应用程序,确保你正在使用的是最新版本,因为旧版本可能不支持某些功能。 3. **创建或选择目标库**:如果你还没有EndNote库,需要新建一个;...

    C#批量导入数据

    在IT行业中,尤其是在数据库管理和应用开发领域,批量导入数据是一项常见的任务。对于C#开发者来说,处理大量数据的导入能够显著提高工作效率,特别是在处理大数据集时。本篇将深入探讨如何在C#环境中进行批量导入...

    ASP实现 将Excel表格数据批量导入到SQLServer数据库

    ASP实现将Excel表格数据批量导入到SQLServer数据库的过程中涉及的知识点主要包括以下几个方面: 1. Excel数据读取技术:在ASP中,可以使用ADO(ActiveX Data Objects)技术,通过ADODB组件读取Excel文件的数据。...

    Excel文件导入数据库源码,可直接运行

    标题中的“Excel文件导入数据库源码,可直接运行”指的是一个程序,它的主要功能是将Excel数据批量导入到Mysql数据库中。这个程序为开发者提供了一个便捷的方式,以处理大量结构化的Excel数据,并将其存储在关系型...

    ssm的jdk1.8批量导入等相关功能

    数据的批量导入通常涉及文件解析(如CSV或Excel)和数据库操作。Java 1.8的Stream API为处理大量数据提供了便利,可以使用并行流进行高效的批处理。MyBatis的动态SQL功能可以方便地编写插入语句,实现数据的批量...

Global site tag (gtag.js) - Google Analytics