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. Codeforces 833 C - Ever-Hungry Krakozyabra

    思路: 首先,inedible tails 的个数最多为C(18+9,9)个(用隔板法),所以我们暴力出所有的 inedible tails,然后检查一下在[L, R]这段区间是否存在这个inedib ...

  2. angular2 学习笔记 (Typescript - Attribute & reflection & decorator)

    更新 : 2018-11-27 { date: Date } 之前好像搞错了,这个是可以用 design:type 拿到的 { date: Date | null } 任何类型一但配上了 | 就 de ...

  3. WPF程序开发方法小总结

    1.先做静态界面(静态界面带有 示例 数据---> 展示布局效果) 2.然后在VM写完之后,再对静态界面绑定数据源属性

  4. Spring Cloud之配置中心搭建

    一.配置中心服务端搭建 1)引入相关Maven坐标 <dependency> <groupId>org.springframework.cloud</groupId> ...

  5. hdu number number number 斐波那契数列 思维

    http://acm.hdu.edu.cn/showproblem.php?pid=6198 F0=0,F1=1的斐波那契数列. 给定K,问最小的不能被k个数组合而成的数是什么. 赛后才突然醒悟,只要 ...

  6. Confluence 6 为边栏添加自定义内容

    你可以使用 wiki 标记和自定义内容来对边栏进行更进一步的自定义. 希望添加自定义内容到你的边栏中: 进入空间后,然后从边栏的底部选择 空间工具(Space tools) > 外观和感觉(Lo ...

  7. linux 下如何安装memcached 和启动服务

    一.安装gcc # yum -y install gcc 二.安装libevent # wget http://www.monkey.org/~provos/libevent-2.0.12-stabl ...

  8. hammer.js方法总结(只做了一个简单的demo)

    html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  9. 配置samba 服务器 共享Linux目录

    配置samba 服务器 共享Linux目录 1.安装: yum install -y samba* 2.修改配置文件 vim /etc/samba/smb.conf [web] path = /usr ...

  10. pygame

    pip install msgpack-python pip install msgpack 离线安装下载地址 Downloading https://files.pythonhosted.org/p ...