Java使用MyBatis的ScriptRunner执行SQL脚本
2024-09-01 13:34:39
脚本文件D:/test_transaction.sql
:
start transaction;
drop table if exists testdb.test_transaction_table;
create table testdb.test_transaction_table select table_name from information_schema.tables;
commit;
依赖maven坐标:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
示例程序:
package com.zifeiy.test.normal;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.nio.charset.Charset;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.ScriptRunner;
public class RunScriptTest {
private static String APPENDED_DB_INFO
= "?useUnicode=true&characterEncoding=UTF8"
+ "&rewriteBatchedStatements=true"
+ "&useLegacyDatetimeCode=false"
+ "&serverTimezone=Asia/Shanghai"
+ "&useSSL=false";
private static String className = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/testdb" + APPENDED_DB_INFO;
private static String username = "root";
private static String password = "password";
private static Connection connection = null;
public static void main(String[] args) throws ClassNotFoundException, SQLException, FileNotFoundException {
Class.forName(className);
connection = DriverManager.getConnection(url, username, password);
ScriptRunner scriptRunner = new ScriptRunner(connection);
Resources.setCharset(Charset.forName("UTF8"));
// scriptRunner.setLogWriter(null);
scriptRunner.runScript(new FileReader(new File("D:/test_transaction.sql")));
scriptRunner.closeConnection();
connection.close();
}
}
最新文章
- 【AngularJS】—— 12 独立作用域
- Python + OpenCV2 系列:3 - python 字符串,类,编码规范
- 第十章:Intent详解
- [Tex学习笔记]数学公式再次测试
- C# 参考之方法参数关键字:params、ref及out
- ExtJs5.1.1使用中问题集锦
- js中的";==";与";===";的区别
- SQL Server中建立外键的方法
- php 中PHP_EOL使用
- mybatis 配置 log4j 日志
- Exp2后门原理与实践 20164312马孝涛
- webstorm intelliJ IDEA phpstorm 设置鼠标滚动改变字体大小
- 一张图读懂PBN飞越转弯衔接TF/CF航段计算
- React-classnames库
- wordpress学习(五)----插件
- Android权限详解
- 【struts2】自定义拦截器
- P2280 [HNOI2003]激光炸弹
- 20135313-exp1
- [kata]数值内3和5的倍数的总和求解
热门文章
- machine learning(10) -- classification:logistic regression cost function 和 使用 gradient descent to minimize cost function
- tcp文件下载
- 使用quickstart方式快速搭建maven工程
- javascript权威指南第13章 事件示例代码
- prometheus 监控ElasticSearch核心指标
- Greenplum 监控segment是否正常
- AGC037C Numbers on a Circle【构造】
- (转)代码审计利器-RIPS实践
- docker安装mysql5.7 数据挂载
- SpringCloud介绍及入门一