「java使用sql批处理」sqlserver批处理语句

博主:adminadmin 2022-11-23 22:15:07 47

本篇文章给大家谈谈java使用sql批处理,以及sqlserver批处理语句对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA如何实现数据库的批处理操作

批量数据进入数据库使用addBatch()和executeBatch()方法

PreparedStatement.addBatch(); ...... PreparedStatement.executeBatch();需要注意的是一次最多不要超过50条:1.因为插入的时候数据库已经锁定,然而若是一次性插入太多会造成其他业务的等待。2.会造成内存的溢出

举例:

PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into ***** values (?,'***')"); for (int i = 0; i 10000; i++) { pst.setInt(1, i); // 把一个SQL命令加入命令列表 pst.addBatch(); } // 执行批量更新 pst.executeBatch(); // 语句执行完毕,提交本事务 con.commit();

JAVA 批量处理SQL问题

要把自动提交关掉,否则不会回滚

你这要是没有事务,那在出错的位置前面的数据都已经插入进去了,批处理也一样

java编程 批处理

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.Stack;

public class CheckFilebatch {

private static final String LOG_FILE = "F:/CheckFilebatch.log"; //报错的信息写在这个文件里。

private static final String FILE_HOME = "F:/niceStore /"; //要操作的物理目录

public static void main(String[] args) {

try {

ArrayListString fileListInDB = new ArrayListString();

FileWriter fw = new FileWriter(LOG_FILE);

// TODO

// 取得DB连接,执行sql“SELECT DISTINCT FILEPATH FROM ARR-FILE”,得到一个ResultSet

// 从DB中取出文件信息,放入fileListInDB 中,

ResultSet rs = null;

while (rs.next()) {

String path = rs.getString("File_Column");

File f = new File(path);

if (!f.exists()) {

// 不合法的报出错误信息。

System.out.println("file not exists: " + path);

fw.write("file not exists: " + path + "\n");

} else {

// 合法的,转化为路径名的规范路径名字符串,加入到fileListInDB中

fileListInDB.add(f.getCanonicalPath());

}

}

rs.close();

//

fw.write("\n\n\n\n");

//下面开始遍历物理目录

File home = new File(FILE_HOME);

StackFile tmpStack = new StackFile();

tmpStack.add(home);

while (!tmpStack.isEmpty()) {

File tmp = tmpStack.pop();

File[] childs = tmp.listFiles();

for (int i = 0; i childs.length; i++) {

File child = childs[i];

if (child.isDirectory()) {

tmpStack.push(child);

} else {

if (fileListInDB.contains(child.getCanonicalPath())) {

fileListInDB.remove(child.getCanonicalPath());

} else {

// 删除文件。

child.delete();

// 这里的操作如果把它移动到另一个目录里,作为备份,更好些。

fw.write("delete file: " + child.getCanonicalPath());

}

}

}

}

// 这个程序只考虑文件,不考虑目录

fw.close();

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

JAVA用批处理怎么执行多条SQL语句

使用PreparedStatement的addBatch()方法添加批量sql执行,然后用executeBatch()来批量执行add进去的sql

关于java使用sql批处理和sqlserver批处理语句的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。