前言

大家都知道,在Java中调用SQL脚本的方式有多种,在这里只记录一种自己常用的方式,个人觉得挺实用方便的。

运用ScriptRunner这个类。

ScriptRunner类用于执行SQL语句,例如创建数据库schema,或传入缺省或测试数据库等等。

示例代码如下:

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.jdbc.ScriptRunner;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Properties;

/**

* 运行Sql脚本

* sql脚本放在resources下的sql文件夹下

*/

public final class RunSqlScript {

/**

*

运行指定的sql脚本

* @param sqlFileName 需要执行的sql脚本的名字

*/

public static void run(String sqlFileName) {

try {

// 获取数据库相关配置信息

Properties props = Resources.getResourceAsProperties("db.properties");

// jdbc 连接信息: 注: 现在版本的JDBC不需要配置driver,因为不需要Class.forName手动加载驱动

String url = props.getProperty("jdbc.url");

String username = props.getProperty("jdbc.username");

String password = props.getProperty("jdbc.password");

// 建立连接

Connection conn = DriverManager.getConnection(url, username, password);

// 创建ScriptRunner,用于执行SQL脚本

ScriptRunner runner = new ScriptRunner(conn);

runner.setErrorLogWriter(null);

runner.setLogWriter(null);

// 执行SQL脚本

runner.runScript(Resources.getResourceAsReader("sql/" + sqlFileName + ".sql"));

// 关闭连接

conn.close();

// 若成功,打印提示信息

System.out.println("====== SUCCESS ======");

} catch (IOException | SQLException e) {

e.printStackTrace();

}

}

}

ps下:在现在版本的JDBC驱动中,已经不需要像以前一样加载driver和手动class.forName(driver)来加载驱动了,详情可以自行点进DriverManager中看,有一个static {} 静态代码块,里面已经为我们加载初始化了驱动。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

java调用MySQL脚本_Java调用SQL脚本执行常用的方法示例相关推荐

  1. 用JAVA使用mysql命令操作导入SQL脚本

    package data;import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWri ...

  2. java去掉重复字符_Java实现去掉字符串重复字母的方法示例

    本文实例讲述了Java实现去掉字符串重复字母的方法.分享给大家供大家参考,具体如下: package demo; public class Ctrl { public static void main ...

  3. java ip地址接口_java获取ip地址与网络接口的方法示例

    java.net包 大家应该都知道,网络相关对象在java.net包中,Java net包下的类如下: 1.获取主机对象InetAddress //获取本地主机对象 InetAddress host ...

  4. 搞定使用MySQL导入外部的SQL文件执行

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 搞定使用 ...

  5. java jdbc脚本_关于java:使用MySQL和JDBC运行.sql脚本

    我开始使用MySQL和JDBC. Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnectio ...

  6. java调用cd传输_Java调用Linux命令(cd的处理)

    一.Java调用Linux系统的命令非常简单 这是一个非常常用的调用方法示例: 1 publicString executeLinuxCmd(String cmd) {2 System.out.pri ...

  7. 菜鸟角度讲解8.0.21版MySQL安装教程及sql脚本如何使用

    超详细的MySQL安装与sql脚本的使用教程,从菜鸟的角度解释每一步 1.安装mysql 找到MySQL官网,选择downloads 点进去之后往下翻,找到MySQL community server ...

  8. java exe 返回值_java调用exe返回值

    {// getAccount 方法,使用 get 方法; return accounts.get(index); } } Bank .java: package com.mybank.domain; ...

  9. mysql外键约束脚本_使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)...

    在实际开发中,可能很少人会手写sql脚本来操作数据库的种种.特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而 ...

最新文章

  1. word 2010 从第三页开始设置页码
  2. 洛谷P1880 [NOI1995]石子合并
  3. Java Collections unmodifiableCollection()方法与示例
  4. onvif开发之设备发现功能的实现
  5. 安装Sql Server 2005 失败一例
  6. 济南学习 Day 5 T1 晚
  7. 10.数据库-Pandas
  8. Win10怎么合并磁盘分区 合并磁盘的操作方法
  9. qq账号绑定服务器地址,网站接入 QQ 登录整合社交账号登录 - 文章教程
  10. 买到招行CMP1一天赚90
  11. 蓝桥杯:第39级台阶
  12. 智遥工作流中调用SAP基础数据
  13. 【工业】工业无线组网场景下的典型拓扑及设备解决方案
  14. 《巴黎评论》启示录连载之一村上春树
  15. 直播延时是如何产生的?4G摄像头无插件播放视频流媒体服务器EasyDSS超低延时直播的实现方案
  16. 掌握“盘带技术”——比较磁盘存储和磁带存储
  17. android sim卡联系人存储格式,如何在Android设备上将联系人复制到SIM卡
  18. 计算机ntc中国教育考试网,中国教育考试网ntcecf1.neea.edu.cn-2018河北教师资格证成绩查询网址...
  19. 优思学院:DMAIC六西格玛改进模型
  20. 对可编程控制器的专有协议进行模糊处理找到影响物理控制相关的漏洞

热门文章

  1. 【英语学习】【English L06】U05 Appointments L6 The experience of booking or canceling
  2. 【英语学习】【Daily English】U03 Leisure Time L03 Hiking and camping are some of his favorites.
  3. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结
  4. 优秀REST风格 API的设计原则
  5. 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)3-LBVH(Linear Bounding Volume Hierarchies)
  6. h5+js调取相机做取景框_Ps绘制超复杂逼真相机图标
  7. 从Unreal Engine 3到Unreal Engine 4
  8. UnrealEngine4 PBR Shading Model 概述
  9. MongoDB的导入与导出
  10. Linux之基本正则表达式(grep)