package com.dzq.batch;

import java.sql.Connection;
import java.sql.Statement; import com.itheima.util.JDBCUtils; /*
create database day10batch;
use day10batch;
create table batchDemo(
id int primary key auto_increment,
name varchar(20)
);
insert into batchDemo values(null,'aaaa');
insert into batchDemo values(null,'bbb');
insert into batchDemo values(null,'cc');
insert into batchDemo values(null,'d');
*/
/*
Statement方式执行批处理:
优点:可以执行多条不同结构的sql语句
缺点:没有使用预编译机制,效率低下,如果要执行多条结构相同仅仅参数不同的sql时,仍然需要写多次sql语句的主干
*/
public class StatementBatch {
public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
try{
conn = JDBCUtils.getConn();
stat = conn.createStatement();
stat.addBatch("create database day10batch");
stat.addBatch("use day10batch");
stat.addBatch("create table batchDemo("+
"id int primary key auto_increment,"+
"name varchar(20)"+
")");
stat.addBatch("insert into batchDemo values(null,'aaaa')");
stat.addBatch("insert into batchDemo values(null,'bbb')");
stat.addBatch("insert into batchDemo values(null,'cc')");
stat.addBatch("insert into batchDemo values(null,'d')"); stat.executeBatch();
}catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtils.close(null, stat, conn);
}
}
}
package com.dzq.batch;

import java.sql.Connection;
import java.sql.PreparedStatement; import com.itheima.util.JDBCUtils;
/*
create table psbatch(
id int primary key auto_increment,
name varchar(30)
);
*/
/*
prparedStatement 方式实现的批处理:
优点:有预编译机制,效率比较高.执行多条结构相同,参数不同的sql时,不需要重复写sql的主干
缺点:只能执行主干相同参数不同的sql,没有办法在一个批中加入结构不同的sql
*/
public class PSBatch {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try{
conn = JDBCUtils.getConn();
ps = conn.prepareStatement("insert into psbatch values(null,?)"); for(int i=1;i<=100000;i++){
ps.setString(1, "name"+i);
ps.addBatch(); if(i%1000==0){
ps.executeBatch();
ps.clearBatch();
}
}
ps.executeBatch(); }catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtils.close(null, ps, conn);
}
}
}

20160322 javaweb 之jdbc-- mysql 批处理的更多相关文章

  1. JavaWeb用Jdbc操作MySql数据库(一)

    一.添加开发包.在JavaWeb中用jdbc操作数据库,使用方法与java一样,但是在处理开发包的问题上有点差别.JavaWeb不能将mysql-connector-java-5.1.7-bin.ja ...

  2. JavaWeb学习总结(十一)--JDBC之批处理

    一.批处理的介绍 在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率.批处理只针对更新(增.删.改)语句,批 ...

  3. 【JavaWeb】JDBC连接MySQL数据库

    正文之前 在之前写的JavaWeb项目中使用了JDBC,在此来回顾一下,并做个demo看看,先来看看JDBC的概念 Java数据库连接,(Java Database Connectivity,简称JD ...

  4. JavaWeb学习笔记(十五)—— 使用JDBC进行批处理

    一.什么是批处理 批处理就是一批一批的处理,而不是一个一个的处理! 当你有10条SQL语句要执行时,一次向服务器发送一条SQL语句,这么做效率上很差!处理的方案是使用批处理,即一次向服务器发送多条SQ ...

  5. JavaWeb用Jdbc操作MySql数据库(二)

    一.仍然使用前面的环境和示例数据库. 二.建立发出注册请求的页面index3.jsp. <%@ page language="java" import="java. ...

  6. javaweb学习总结(三十六)——使用JDBC进行批处理

    在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式:statement和pr ...

  7. 【JavaWeb】【MySQL】【edu01】jdbc.properties配置文件的编写

    前提准备 导入 mysql-connector-java-版本号 的jar包 下面为大家提供几个jar包下载地址 点击进入下载界面 >>推荐 MySQL官方 多版本选择 点击进入下载界面 ...

  8. JDBC的批处理操作三种方式 pstmt.addBatch()

    package lavasoft.jdbctest; import lavasoft.common.DBToolkit; import java.sql.Connection; import java ...

  9. 传智播客JavaWeb day10-jdbc操作mysql、连接数据库六大步骤

    第十天主要讲了jdbc操作mysql数据库,包括连接数据库六大步骤(注册数据库驱动.获得连接对象connetion.生成传输器stament.执行查询获得ResultSet.遍历结果集.关闭资源).介 ...

  10. JDBC MySQL

    JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com. ...

随机推荐

  1. Android 开发性能优化之SparseArray(二)

    一.SparseIntArray API SparseIntArrays map integers to integers.  Unlike a normal array of integers, t ...

  2. 删除一个目录和其各级子目录下的.svn文件

    两种方法[1]用find命令和其action来实现[2]用rm直接实现$ cd /tmp/xxx$ rm -rf  `find . -name .svn`就可以实现了. 删除SVN目录及从服务器端删除 ...

  3. 如何监听非本地IP

    做HA的时候,如果每个机器上同时需要监听多个IP的同一个端口.那么肯定是需要写死监听的IP和端口.比如在haproxy里面: frontend free bind default_backend te ...

  4. Shell 脚本编程

    Shell 两个数据比较取差异 flag=0 local array1=("a" "b") local array2=("a" " ...

  5. SAE网站搭建(1)

    用了半天时间,把Django的基本结构同步到SAE上了,里边比较麻烦的地方如下: 1. 数据库的同步; SAE用的是SQL数据库,默认使用下面的用户名.密码等变量(SAE为我们做了很多工作) 首先需要 ...

  6. [有错误]堆排序的实现 java

    #include<iostream> using namespace std; //大根堆,从小到达排序 ]; void swap(int &a,int &b) { a=a ...

  7. 最常用的Java库一览

    本文由 ImportNew - 邢 敏 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. 写在前面: 1) 本文列出的名单是根据我自己的调查,并结合个人的经验.有可能是它们不恰恰 ...

  8. Qt5.0.2无法发布问题

    先从bin目录里面找到所缺失的dll,如果出现 可以找到libEGL.dll然后复制过来就可以了.

  9. nginx redis tomcat 分布式web应用 session共享

    目标:多台tomcat 使用redis实现共享session.redis的安装请参阅:centos上安装redis nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.w ...

  10. ubuntu13.04 Thinkpad W520安装nvidia显卡驱动

    Ubuntu13.04 amd64 Thinkpad W520安装Nvidia显卡驱动 曾经在ubuntu11.10上成功安装Nvidia显卡驱动.但是自从机器(Thinkpad W520)更新到13 ...