BatchUpdate

package  JDBC;

import  java.sql.BatchUpdateException;
import  java.sql.Connection;
import  java.sql.Date;
import  java.sql.PreparedStatement;
import  java.sql.ResultSet;
import  java.sql.SQLException;
import  java.sql.DriverManager;
import  java.sql.Statement;
import  java.sql.Time;
import  java.sql.Timestamp;
import  java.text.SimpleDateFormat;
import  java.util.Calendar;
/** */ /**
 * 
 * 
@author oakertree
 *
 
*/

public   class  TestBatch  {
    
public static void main(String[] args) {
        Connection con 
= null;
//        Statement stmt = null;
        PreparedStatement stmt = null;
        
        
try {
            Class.forName(
"com.mysql.jdbc.Driver");
//            new com.mysql.jdbc.Driver();
            con = DriverManager.getConnection("jdbc:mysql://localhost:3307/test""root""admini");
            
/**//*
            stmt = con.createStatement();
            stmt.addBatch("INSERT INTO time VALUES ( NOW(), NOW(), NOW())");
            stmt.addBatch("INSERT INTO time VALUES ( NOW(), NOW(), NOW())");
            stmt.addBatch("INSERT INTO time VALUES ( NOW(), NOW(), NOW())");
            stmt.addBatch("INSERT INTO time VALUES ( NOW(), NOW(), NOW())");
            stmt.addBatch("INSERT INTO time VALUES ( NOW(), NOW(), NOW())");
            stmt.addBatch("INSERT INTO time VALUES ( NOW(), NOW(), NOW())");
            stmt.executeBatch();
            stmt.close();
             
*/

            System.out.println(Date.valueOf(
"2004-02-19"));
            System.out.println(Time.valueOf(
"14:29:32"));
            System.out.println(Timestamp.valueOf(
"2008-12-01 12:25:32"));
            
            
            stmt 
= con.prepareStatement("INSERT INTO time VALUES (?, ?, ?)");
            stmt.setDate(
1, Date.valueOf("2004-12-02"));
            stmt.setTime(
2, Time.valueOf("14:02:32"));
            stmt.setTimestamp(
3, Timestamp.valueOf("2004-12-01 12:25:32"));
            stmt.addBatch();
            
            stmt.setDate(
1, Date.valueOf("2005-12-02"));
            stmt.setTime(
2, Time.valueOf("15:02:32"));
            stmt.setTimestamp(
3, Timestamp.valueOf("2005-12-01 12:25:32"));
            stmt.addBatch();
            
            stmt.setDate(
1, Date.valueOf("2006-12-02"));
            stmt.setTime(
2, Time.valueOf("16:02:32"));
            stmt.setTimestamp(
3, Timestamp.valueOf("2006-12-01 12:25:32"));
            stmt.addBatch();
            
            stmt.setDate(
1, Date.valueOf("2007-12-02"));
            stmt.setTime(
2, Time.valueOf("17:02:32"));
            stmt.setTimestamp(
3, Timestamp.valueOf("2007-12-01 12:25:32"));
            stmt.addBatch();
            
            stmt.executeBatch();
            stmt.close();
            
            }
 catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
 catch (BatchUpdateException e) {
                e.printStackTrace();
            }
 catch (SQLException e) {
                e.printStackTrace();
            }
 finally {
                
try {
                    
if(stmt != null{
                        stmt.close();
                        stmt 
= null;
                    }

                    
if(con != null{
                        con.close();
                        con 
= null;
                    }

                }
 catch (SQLException e) {
                    e.printStackTrace();
                }

            }

    }

}

/**/ /*
+------------+----------+---------------------+
| date       | time     | datetime            |
+------------+----------+---------------------+
| 2007-10-16 | 01:01:17 | 2007-10-16 01:01:17 |
| 2007-10-17 | 01:02:22 | 2006-05-12 00:00:00 |
| 2007-12-19 | 00:13:04 | 2007-12-19 00:13:04 |
| 2007-12-22 | 14:13:48 | 2007-12-22 14:13:48 |
| 2007-12-22 | 14:14:52 | 2007-12-22 14:14:52 |
| 2007-12-22 | 14:14:52 | 2007-12-22 14:14:52 |
| 2007-12-22 | 14:14:52 | 2007-12-22 14:14:52 |
| 2007-12-22 | 14:14:52 | 2007-12-22 14:14:52 |
| 2007-12-22 | 14:14:52 | 2007-12-22 14:14:52 |
| 2007-12-22 | 14:14:52 | 2007-12-22 14:14:52 |
| 2004-12-02 | 14:02:32 | 2004-12-01 12:25:32 |
| 2005-12-02 | 15:02:32 | 2005-12-01 12:25:32 |
| 2006-12-02 | 16:02:32 | 2006-12-01 12:25:32 |
| 2007-12-02 | 17:02:32 | 2007-12-01 12:25:32 |
+------------+----------+---------------------+
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring JdbcTemplate是Spring框架中的一个重要组件,它为开发者提供了一个简单方便、易于扩展的JDBC操作方式。JdbcTemplate提供了许多有用的方法,其中之一就是 batchUpdate()。它实现了批量更新操作,可以显著提高数据库操作效率。 batchUpdate()方法用于执行批量更新操作,可以一次性执行多条SQL语句,同时返回每条SQL语句的更新数量,这在大数据量插入或更新时格外有用。开发者只需要将所有的SQL语句存储在一个字符串数组中,然后将该数组传递给batchUpdate()方法即可。batchUpdate()方法会返回一个int型的数组,其中每个元素表示相应的SQL语句所更新的记录数。 例如,以下代码展示了如何使用batchUpdate()方法: ```java String[] sqls = {"INSERT INTO user(name, age) VALUES ('Tom', 28)", "UPDATE user SET age = 29 WHERE name = 'Tom'", "DELETE FROM user WHERE name = 'Tom'"}; int[] counts = jdbcTemplate.batchUpdate(sqls); ``` 上述代码中,我们将三个SQL语句存储在一个字符串数组sqls中,然后使用jdbcTemplate.batchUpdate(sqls)执行批量更新操作。最后,我们将每个SQL语句更新的记录数存储在一个int数组counts中。 总之,Spring JdbcTemplate的batchUpdate()方法是一个高效的数据库操作方法,可以为开发者提供更快速、更可靠的JDBC操作方式。同时,它还具有批处理的优点,可以大大节省数据库操作的时间和资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值