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. Lua和C++交互 学习记录之六:全局函数交互

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  2. 算法笔记--最大流和最小割 && 最小费用最大流 && 上下界网络流

    最大流: 给定指定的一个有向图,其中有两个特殊的点源S(Sources)和汇T(Sinks),每条边有指定的容量(Capacity),求满足条件的从S到T的最大流(MaxFlow). 最小割: 割是网 ...

  3. 用原生js来处理跨域的数据(jsonp)

    说明总结: 1.ajax和jsonp其实本质上是不同的东西.ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提 ...

  4. python实现邮件接口——smtplib模块

    1. 思路 使用脚本发送邮件的思路其实和客户端发送邮件一样,过程都是: 登录 —> 写邮件 —> 发送 只不过通过脚本发送时我们需要考虑到整个过程的方方面面.以下为思路导图: 2. Pyt ...

  5. 批标准化 Batch Normalization

    2018-12-05 20:28:15 在机器学习领域有一个很重要的假设,即独立同分布假设,也就是说训练集和测试集是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障.而 ...

  6. putty 显示 ubuntu的文件乱码

    http://www.linuxidc.com/Linux/2012-01/52252.htm 下面几个注意点 1) Windows - Appearance - Font settings 里可以更 ...

  7. gooreplacer 很好用

    国内上 StackOverflow, hackernews 之类的站点会慢. 因为页面里有链接指向 google 谷歌, 会被墙. 于是拖累了整个页面的显示. gooreplacer 可以把这些被墙连 ...

  8. 分离vue组件内部css

    当我们使用vue组件的时候,使用webpack打包的时候,默认会把vue组件内部的css打包到页面上,但是打包到页面上很丑陋,所以我们希望可以把vue组件内部的css抽离到css文件中,使用vue-s ...

  9. TCP/UDP协议简要梳理

    TCP/UDP协议简要梳理 TCP TCP,Transmission Control Protocol,传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议.在因特网协议族中,TCP所在的 ...

  10. 6月13 ThinkPHP控制器

    控制器 控制器是MVC模式中的核心,tp默认有一个Index控制器: 1.控制器的命名规则:新建一个主页面的控制器 在JiaoWu/Home/Controller下新建一个文件:MainControl ...