云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

java批量执行sql语句

可以使用JDBC的Statement或PreparedStatement对象,循环执行SQL语句。或者使用框架如MyBatis、Hibernate等进行批量操作

批量执行SQL可以使用JDBC(Java Database Connectivity)来实现,以下是一个简单的示例,展示了如何使用Java批量执行SQL语句

1、需要导入相关的包:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

2、创建一个方法来批量执行SQL语句

public class BatchExecuteSQL {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/test_db";
        String user = "root";
        String password = "password";
        try {
            // 加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 获取数据库连接
            Connection connection = DriverManager.getConnection(url, user, password);
            // 关闭自动提交
            connection.setAutoCommit(false);
            // 创建预处理语句
            String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            // 添加批量数据
            for (int i = 0; i < 10; i++) {
                preparedStatement.setString(1, "User" + i);
                preparedStatement.setInt(2, 20 + i);
                preparedStatement.addBatch();
            }
            // 执行批量操作
            int[] result = preparedStatement.executeBatch();
            // 提交事务
            connection.commit();
            // 关闭资源
            preparedStatement.close();
            connection.close();
            System.out.println("批量插入成功,影响的行数:" + result.length);
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先加载了MySQL的JDBC驱动,然后通过DriverManager.getConnection()方法获取到了数据库连接,接着,我们关闭了自动提交功能,以便我们可以手动控制事务。

我们创建了一个预处理语句,用于插入数据,在这个例子中,我们使用了?作为占位符,并通过preparedStatement.setString()preparedStatement.setInt()方法设置了具体的值,我们还使用preparedStatement.addBatch()方法将这个语句添加到了批处理中。

接下来,我们调用preparedStatement.executeBatch()方法执行了批量操作,这个方法会返回一个整数数组,表示每个语句影响的行数,我们提交了事务,并关闭了资源。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《java批量执行sql语句》
文章链接:https://www.yunzhuji.net/internet/178455.html

评论

  • 验证码