• 读取sql脚本文件时,需要通过ClassPathResource 来获取(其他方式服务器发布后可能会出现无法获取脚本的情况)
  • 根据上步获取的inputStream 流创建InputStreamReader
  • 根据Connection信息初始化创建ScriptRunner ,并执行
private void execute(String url, String rootName, String rootPwd, String dbName, String userName, String password, String port) {String connectUrl = "jdbc:mysql://" + url + ":" + port + "/?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true";Connection connection = null;try {Class.forName("com.mysql.jdbc.Driver");connection = DriverManager.getConnection(connectUrl, rootName, rootPwd);initTable(connection);} catch (SQLException | ClassNotFoundException | IOException e) {// 异常处理} finally {if (connection != null) {try {connection.close();} catch (SQLException e) {// 异常处理}}}}private void initTable(Connection connection) throws IOException {// sql 脚本ClassPathResource classPathResource = new ClassPathResource("sql/initTable.sql");InputStream inputStream = classPathResource.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream);ScriptRunner scriptRunner = new ScriptRunner(connection);// 必须设置该参数为true,否则无法执行begin……end;scriptRunner.setSendFullScript(true);scriptRunner.runScript(inputStreamReader);}

注意:当所要执行的sql脚本中包含begin……end;类的sql语句是,需要设置sendFullScript为true,否则会出现以下错误

Error executing: CREATE PROCEDURE `optimizet_procedure`()
beginoptimize table task
.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Error executing: end
.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'end' at line 1

Java 执行SQL脚本文件相关推荐

  1. java sql脚本_Java 执行 SQL 脚本文件

    是拷贝的别人的,以备学习 package com.unmi.db; import java.io.FileInputStream; import java.io.InputStream; import ...

  2. 如何在mysql中执行sql脚本文件

    一.sql脚本文件 简介 xxxx.sql这种文件被称为sql脚本文件. sql脚本文件中编写了大量的sql语句. 我们执行sql脚本文件的时候,该文件中所有的sql语句会全部执行! 批量的执行SQL ...

  3. Delphi 7 在程序中直接执行SQL脚本文件

    Delphi 7 在程序中直接执行SQL脚本文件 在处理MSDE一些操作中.需要执行一些SQL脚本.有的是从 SQLServer 2000中生成的SQL为后缀的脚本.在MSDE中没有企业管理器, 操作 ...

  4. Oracle 在Sqlplus 执行sql脚本文件。

    首先在随便1个地方建立1个sql语句的文件. 例如: 执行命令为: sqlplus loginID/passwd@serverIP/servcie_name @path/file.name 例如: 见 ...

  5. source命令执行SQL脚本文件

    2019独角兽企业重金招聘Python工程师标准>>> 运行mysql,可以使用"source"或"/."命令执行SQL脚本文件: mysql ...

  6. PLSQL执行SQL脚本文件「适用批量」- 工具使用篇

    前言 开局一条狗,装备全靠打 这篇文章应该是 2019 年最后一文章了,分享一下 PLSQL 是如何执行 SQL 脚本文件的. 关于执行 SQL 文件,下方是自己经常使用的一种方式,同样适用于批量文件 ...

  7. oracle用命令执行sql脚本文件

    当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚本文件,方法如下: 1.sqlplus登录 >sqlplus userna ...

  8. Mac OS 在远程主机(Linux 系统)上使用命令执行 sql 脚本文件(使用的是 MySQL 数据库)

    文章目录 使用命令 mysql 执行脚本文件 连接远程主机后,直接使用命令 mysql 进入 MySQL 的 bin 目录后,再执行 mysql 命令 使用命令 source 执行脚本文件 sql 脚 ...

  9. Windows 使用命令执行 sql 脚本文件

    文章目录 MySQL 数据库 方法一:使用 mysql 命令 方法二:使用 source 命令 Oracle 数据库 MySQL 数据库 方法一:使用 mysql 命令 未配置 MySQL 的环境变量 ...

  10. PL/SQL工具执行SQL脚本文件

    方法一:在命令窗口中输入SQL>@E:\prestigereport.sql 方法二:工具菜单下的[导入表],选择SQL插入后选中需要导入的sql脚本文件.

最新文章

  1. TCP的3次握手和4次挥手过程
  2. 制定备份策略的指导方向思考
  3. comsol计算数据导出matlab,comsol4.2怎样在matlab中通过函数输出数据
  4. TensorFlow报错FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated......(亲测)
  5. db2 jdbc驱动参数_JDBC详细整理(一)
  6. css图片上漂浮着文字效果
  7. mysql的事务与锁机制
  8. mock gps android,MockGPS: Android application to fake GPS
  9. xapofx1_5.dll怎么安装
  10. GoF设计模式——单例模式(C++实现)
  11. matlab自回归模型AIC,时间序列笔记-自回归模型(二)
  12. adb 连接某个wifi_使用adb命令连接WiFi进行无线调试
  13. NopCommerce源码架构详解--TypeFinder程序集类型自动查找及操作相关源码分析
  14. 华为交换机配置ntp服务时间 自动同步不成功unsynchronized
  15. SVG 图标制作指南
  16. 学习PPT与Excel的各种高级应用并掌握相关技巧
  17. 零基础学习PS——Photoshop的167个技能
  18. pl sql 和if loop结构
  19. 爱思助手无法连接或者连接超时解决办法
  20. dnn分类鸢尾花 pytorch_从实例掌握 pytorch 进行图像分类

热门文章

  1. 苹果cms内核H5网页漫画小说系统源码支持三级分销与对接公众号
  2. 自我管理 写好工作周报
  3. 防止订单重复提交的2种技术解决方案
  4. 【软件】WPS VBA 7.0.1590(百度云免费下载链接)
  5. 用友u8怎么导出凭证_用友软件如何导出凭证模板?
  6. 阿里巴巴Java开发手册(泰山版)
  7. python中调用R语言包
  8. codejock Toolkit Pro for Visual C++ MFC 零售版
  9. UltraISO(制作U盘ISO启动镜像)制作U盘启动盘
  10. 数据库mysql报2005错_sql2005还原数据库错误的问题解决方法