Java调用SQL脚本执行常用的方法示例

网友投稿 572 2023-02-08


Java调用SQL脚本执行常用的方法示例

前言

大家都知道,在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驱http://动中,已经不需要像以前一样加载driver和手动class.forName(driver)来加载驱动了,详情可以自行点进DriverManager中看,有一个static {} 静态代码块,里面已经为我们加载初始化了驱动。

总结

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:React中的render何时执行过程
下一篇:angular实现页面打印局部功能的思考与方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~