package InsertTest;
/*
* 单客户端:批量插入
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.text.NumberFormat; import org.apache.commons.lang.StringUtils; public class Two {
static Connection conn;
static Statement stmt;
static ResultSet rs;
static String url = "jdbc:sqlserver://10.86.57.121:1433;DatabaseName=ZXRIS_ITDP;"; static String aaa = "abc";
//插入原始数据
public static void InsertBegin(){ String sb1 = "insert into VEHICLE_PASS_RECORD(RECORD_ID ,CARD_ID, SOURCE"
+ ",COLLECT_TIME ,FIRST_DISCOVER_TIME ,LAST_DISCOVER_TIME ,RECEIVED_TIME ,DEVICE_DESCRIPTION"
+ ",CONFIDENCE ,ATTACHMENT ,LOCATION ,ARCHIVE_ID ,VEHICLE_PLATE_NUM ,EID"
+ ",VEHICLE_TYPE ,VEHICLE_USER_TYPE ,PLATE_TYPE ,FACTORY_DATE ,POWER_RATING"
+ ",DISPLACEMENT ,EXAMINE_EXPIRE_DATE ,FORCE_SCRAP_DATE ,VEHICLE_COLOR"
+ ",CARRY_CAPACITY ,SECTION_NAME ,DIRECTION ,LANE_NUMBER ,DEVICE_TYPE"
+ ",DEVICE_ID ,DISCOVER_TYPE ,TID ,PROTOCOL) VALUES("; int record_id = ; //记录ID
long collect_time = System.currentTimeMillis(); //记录时间 long spendtime = ;
//add
Long insertCount = 10000000L; //插入100万
Long currentCount = 0L; //当前值
Long sectionCount = 2000L; //断面数量
Long maxPlateNumCount = 1000000L;//车牌号最大量
String sectionNamePre = "断面";
String[] citys = {"津","京","宁"};
while (currentCount < insertCount) {
String sectionName = sectionNamePre + (currentCount % sectionCount); //断面:循环0-1999
Long plateNum = currentCount % maxPlateNumCount;
String city = citys[Integer.valueOf(String.valueOf((currentCount / maxPlateNumCount) % citys.length))];
String plateNumStr = city + StringUtils.leftPad(String.valueOf(plateNum), , ""); //车牌号:循环300万 currentCount++; //当前值 +1
record_id ++ ; //record_id +1
collect_time = collect_time + ; //collect_time +4 StringBuffer sb2 = new StringBuffer(sb1); sb2.append(record_id).append(",2, 3,").append(collect_time).append(",5,6,7,8,9")
.append(",10,11,12,").append("'").append(plateNumStr).append("'")
.append(",14,15,16,17,18,19")
.append(",20,21,22,23,24,")
.append("'").append(sectionName).append("'")
.append(",26,27,28,29")
.append(",30,31,32)"); try {
stmt.addBatch(sb2.toString()); if(currentCount % == ){
long startTime=System.currentTimeMillis();
stmt.executeBatch();
long endTime = System.currentTimeMillis()-startTime;
spendtime = spendtime + endTime;
} }catch (SQLException e) {
e.printStackTrace();
} }
System.out.println( "插入处理花费时间:"+spendtime);
//end
} //单查询
public static void OneQuery(){
String sqlQuery = "select top 10 VEHICLE_PLATE_NUM, COLLECT_TIME,VEHICLE_TYPE,SECTION_NAME from [ZXRIS_ITDP].[dbo].[VEHICLE_PASS_RECORD] v where v.SECTION_NAME = '断面1999'";
try {
long starttime=System.currentTimeMillis();
rs = stmt.executeQuery(sqlQuery);
// while(rs.next()){
// System.out.println(rs.getInt("RECORD_ID"));
// }
long spendtime=System.currentTimeMillis()-starttime;
System.out.println( "查询花费时间:"+spendtime); } catch (SQLException e) {
e.printStackTrace();
} } //多查询
public static void MoreQuery(){
String sqlQuery = "select top 10 VEHICLE_PLATE_NUM, COLLECT_TIME,VEHICLE_TYPE,SECTION_NAME from [ZXRIS_ITDP].[dbo].[VEHICLE_PASS_RECORD] v where v.SECTION_NAME = '断面1999'";
try {
long starttime=System.currentTimeMillis();
rs = stmt.executeQuery(sqlQuery);
long spendtime=System.currentTimeMillis()-starttime;
System.out.println( "查询花费时间:"+spendtime); } catch (SQLException e) {
e.printStackTrace();
} } //排序查询
public static void SortQuery(){
String sqlQuery = "select top 10 VEHICLE_PLATE_NUM, COLLECT_TIME,VEHICLE_TYPE,SECTION_NAME from [ZXRIS_ITDP].[dbo].[VEHICLE_PASS_RECORD] v where v.SECTION_NAME = '断面1999'";
try {
long starttime=System.currentTimeMillis();
rs = stmt.executeQuery(sqlQuery);
long spendtime=System.currentTimeMillis()-starttime;
System.out.println( "查询花费时间:"+spendtime); } catch (SQLException e) {
e.printStackTrace();
} } //排序查询
public static void Count(){
String sqlQuery = "select count(*) from [ZXRIS_ITDP].[dbo].[VEHICLE_PASS_RECORD] v where v.SECTION_NAME = '断面1999'";
try {
long starttime=System.currentTimeMillis();
rs = stmt.executeQuery(sqlQuery);
long spendtime=System.currentTimeMillis()-starttime;
System.out.println( "查询花费时间:"+spendtime); } catch (SQLException e) {
e.printStackTrace();
} } public static void main(String[] args) { try {
conn = DriverManager.getConnection(url, "sa", "Rfid123456");
stmt = conn.createStatement(); InsertBegin(); if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
} } }

JDBC:随机生成车牌号,批量插入数据库的更多相关文章

  1. Java实现随机生成车牌号

    String[] citys = {"津","京","宁"}; String sectionNamePre = "断面" ...

  2. 多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中【我】

    多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中 package com.xxx.xx.reve.service; import java.util.ArrayL ...

  3. sql server 使用SqlBulkCopy批量插入数据库

    sql server sqlbulkcopy 批量数据插入数据库使用的是System.Data.SqlClient中的 SqlBulkCopy批量数据插入数据库 sql server 使用SqlBul ...

  4. list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...

  5. Java MySql 批量插入数据库addBatch

    //addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator& ...

  6. MYSQL批量插入数据库实现语句性能分析

    假定我们的表结构如下 代码如下   CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value ...

  7. java中解析excel 批量插入数据库

    Facade 层 实现类 (@Service("samePeriodModelImportFacade")) 1.  获取cells 的方法 public Cells getCel ...

  8. 【MySql】Java 批量插入数据库addBatch

    //addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator& ...

  9. MYSQL批量插入数据库实现语句性能分析【转】 批量插入!程序里面对于数据库插入的功能尽量用【异步处理+批量插入+(事务)】

    假定我们的表结构如下 代码如下   CREATE TABLE example (example_id INT NOT NULL,name VARCHAR( 50 ) NOT NULL,value VA ...

随机推荐

  1. 如何在ubuntu中安装中文输入法?

    如何在ubuntu中安装中文输入法  在桌面右上角设置图标中找到“System Setting”,双击打开. 在打开的窗口里找到“Language Support”,双击打开.  可能打开会说没有安装 ...

  2. Nginx的安装和使用(Linux)

    关于什么是Nginx,Nginx的优势和使用范围这里就不多说了.其实它就是一个web服务器.这篇文章主要是说Nginx的安装和使用. 安装方式有yum安装和源码安装,这里主要讲源码安装 1.安装依赖, ...

  3. array_map的使用

    其结果为:

  4. git stash命令

    命令:git stash 1.使用git stash 保存当前的工作现场, 那么就可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交. 2.如果一个使用了一个g ...

  5. 新C# 操作Excel属性

    C# 操作Excel属性 数字(Range.NumberFormatlocal 属性) 常规:Range.NumberFormatlocal = "G/通用格式" 数值:Range ...

  6. Synergy软件的基本配置/使用(详细教程)

    1.Synergy软件的简介 Synergy是一款可让多台电脑共享一个鼠标与键盘的软件,用户可借助Synergy操作一个鼠标与键盘控制多个电脑…… 2.Synergy软件的配置过程 下载链接:计算机相 ...

  7. LeetCode--242--有效的字母异位词

    问题描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = "anagram", t = "nagara ...

  8. (CCPC-Final 2018)K - Mr. Panda and Kakin

    题意:x是\([1e5,1e9]\)的随机数,p是小于x的最大素数,q是大于等于x的最小素数,\(n=pq\),\(c=f^{2^{30}+3}\mod{n}\),给n和c求f 题解:rsa解密,首先 ...

  9. hdu-1817-polya

    Necklace of Beads Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  10. 函数式编程语言(Fuction Program Language)

    一.什么是函数式编程语言 函数式编程语言(functional progarm language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型. ...