Jdbc批处理一点异同

简介:

同样的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public  class  TestBatch {
   public  static  void  main(String[] args)  throws  SQLException, ClassNotFoundException {
     //Class.forName("oracle.jdbc.driver.OracleDriver");
     //Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","guojje","guojje");
       
      Class.forName( "com.mysql.jdbc.Driver" );
      Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test" , "root" , "" );
      String sql =  "insert into book (kind, name) values (?,?)" ;
      PreparedStatement pstmt = conn.prepareStatement(sql);
      pstmt.setString( 1 "java" );
      pstmt.setString( 2 "jjjj" );
      pstmt.addBatch();   
      pstmt.setString( 1 "ccc" );
      pstmt.setString( 2 "dddd" );
      pstmt.addBatch();   
      //添加一次静态SQL
      pstmt.addBatch( "update book set kind = 'JAVA' where kind='java'" );
      //批量执行预定义SQL
      pstmt.executeBatch(); 
}
}

MySQL是通过,对于Oracle则会报不支持特性, 原因在于addBatch动态sql之后, 

不能再addBatch静态sql. 已此记录。



本文转自 anranran 51CTO博客,原文链接:http://blog.51cto.com/guojuanjun/1652085

目录
打赏
0
0
0
0
344
分享
相关文章
[Mysql]JDBC篇, DAO, DBUtils, 批处理, 数据库池
面向接口编程是一种抽象的, 高效的编程思想 (就像Java里面的多态的思想. 解耦合) 解耦合 : 降低程序的耦合度(乐高坏了只需要换一个零件, 不香?), 提高程序的扩展力(比如多态) SUN公司写了一个接口 各大厂商对这个接口进行实现 这个接口实现了"多态"的编程思想 面向接口编程的程序员只需要调用JDBC即可 底层的实现是厂商写的代码, 程序员也不用去关心 厂商写的实现接口的.class文件, 也是驱动(Driver) 数据库驱动都是以.jar包的形式存在, .jar包当中有很多.class文件, 它们实现了JDBC接口
Java JDBC中的批处理SQL语句的详解
Java JDBC中的批处理SQL语句的详解
182 0
【JDBC】连接数据库,执行批处理操作。
学习连接数据库,执行批处理操作。
305 0
【JDBC】连接数据库,执行批处理操作。
JDBC第三天~JDBC之事务、批处理、自动生成主键、连接池、重构设计
JDBC第三天~JDBC之事务、批处理、自动生成主键、连接池、重构设计
281 0
JDBC第三天~JDBC之事务、批处理、自动生成主键、连接池、重构设计
【JDBC】事务,批处理
1.JDBC事务概述 开启事务的关键代码是conn.setAutoCommit(false),表示关闭自动提交。提交事务的代码在执行完指定的若干条SQL语句后,调用conn.commit()。要注意事务不是总能成功,如果事务提交失败,会抛出SQL异常(也可能在执行SQL语句的时候就抛出了),此时我们必须捕获并调用conn.rollback()回滚事务。最后,在finally中通过conn.setAutoCommit(true)把Connection对象的状态恢复到初始值。
128 0
JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】(二)
PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时,如果SQL语句有变量,就需要使用分隔符来隔开,如果变量非常多,就会使SQL变得非常复杂。PreparedStatement可以使用占位符,简化sql的编写 Statement会频繁编译SQL。PreparedStatement可对SQL进行预编译,提高效率,预编译的SQL存储在PreparedStatement对象中 PreparedStatement防止SQL注入。【Statement通过分隔符'++',编写永等式,可以不需要密码就
136 0
JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】(一)
PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时,如果SQL语句有变量,就需要使用分隔符来隔开,如果变量非常多,就会使SQL变得非常复杂。PreparedStatement可以使用占位符,简化sql的编写 Statement会频繁编译SQL。PreparedStatement可对SQL进行预编译,提高效率,预编译的SQL存储在PreparedStatement对象中 PreparedStatement防止SQL注入。【Statement通过分隔符'++',编写永等式,可以不需要密码就
154 0
JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时,如果SQL语句有变量,就需要使用分隔符来隔开,如果变量非常多,就会使SQL变得非常复杂。
1243 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等