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. 第 3 章 镜像 - 019 - 使用公共 Registry

    保存和分发镜像的最直接方法就是使用 Docker Hub.https://hub.docker.com/ Docker Hub 是 Docker 公司维护的公共 Registry.用户可以将自己的镜像 ...

  2. idea maven环境下 java实现发送邮件验证

    1.开通smtp授权 QQ邮箱-设置-账户-开启 得到一个授权码 2.下载javax.email包 maven项目中 pom文件加入: <dependency> <groupId&g ...

  3. HTML第七章总结

    Getting started with CSS 前言 CSS 的 rule 作者做了一个非常形象的比喻,将 CSS 必做 renovate the house,在这里,CSS 包括了三个部分: Se ...

  4. BGP - 1,基本概念

    1,BGP知识点 a)AS号:私有(64512-65535),公有(0-64511). b)什么时候使用BGP:有数据穿越本AS前往其他AS:本AS有多条到其他AS的连接:必须要做策略.   c)BG ...

  5. smarty插件

    smarty插件    1.目录:放在Smarty类库下的plugins目录下面(默认存放的都是smarty自带的插件)        smarty3.0提供了自定义插件目录的方式:        $ ...

  6. python基础之 序列 pickle&json

    内容梗概: 1. 什么是序列化 2. pickle(重点) 3. shelve 4. json(重点) 5. configparser模块 1. 什么是序列化 在我们存储数据或者网络传输数据的时候. ...

  7. 洛谷P1101 单词方针

    题目描述 给一 n×n 的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉, ...

  8. python 查看文件名和文件路径

    查看文件名和文件路径 1 >>> import os 2 >>> url = 'https://images0.cnblogs.com/i/311516/20140 ...

  9. 链接SQL Server服务器

    链接SQL Server服务器:      1.使用 ODBC 的 Microsoft OLE DB 提供程序         EXEC sp_addlinkedserver '别名','','MSD ...

  10. 转-【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

    原帖地址:http://blog.csdn.net/lihuarongaini/article/details/71512116 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完 ...