java sqlite事务_java Sqlite 事务

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 19:16   1959   0

private static void test3(){

Connection conn = null;

String dbDriver = "org.sqlite.JDBC" ;

String dbPath = "d:/test.ite";

PreparedStatement ps = null;

String sql = "insert into t1 values (?,?,?,?,?)";

try {

Class.forName( dbDriver ).newInstance();

conn = DriverManager.getConnection( "jdbc:sqlite:/" + dbPath );

long t = System.currentTimeMillis();

//conn.setAutoCommit(false);

ps = conn.prepareStatement(sql);

for(int j = 0; j < 100; j++){

for(int i= 0; i< 5 ; i++){

ps.setString(i+1, j+"" +i);

}

ps.addBatch();

}

int[] ret = ps.executeBatch();

ps.clearBatch();

//conn.commit();

//conn.setAutoCommit(true);

long t2 = System.currentTimeMillis();

System.out.println(t2-t);

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

SQLite数据库JDBC优化:

手动控制事务,否则默认为每次执行一次SQL提交一次事务。会造成系统性能下降,SQLite数据库中表现尤为明显。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP