第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Java实现判断数据库中是否有某表 如果没有 则执行sql文件创建该表

Java实现判断数据库中是否有某表 如果没有 则执行sql文件创建该表

时间:2022-02-14 05:47:05

相关推荐

Java实现判断数据库中是否有某表 如果没有 则执行sql文件创建该表

import org.apache.ibatis.io.Resources;import org.apache.ibatis.jdbc.ScriptRunner;import org.junit.Test;import java.io.IOException;import java.sql.*;public class test {@Testpublic void test(){if(isTableExistEntrust("ai_hmst")){//存在该表执行代码}else{RunSql("peple");}}/*** 运行指定的sql脚本* @param sqlFileName 需要执行的sql脚本的名字*/public void RunSql(String sqlFileName) {try {// jdbc 连接信息: 注: 现在版本的JDBC不需要配置driver,因为不需要Class.forName手动加载驱动String url = "jdbc:mysql://ip:端口/数据库名";String username = "用户名";String 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(sqlFileName + ".sql"));// 关闭连接conn.close();// 若成功,打印提示信息System.out.println("====== SUCCESS ======");} catch (IOException | SQLException e) {e.printStackTrace();}}/*** 判断表是否存在* @param tableName 表名*/public boolean isTableExistEntrust(String tableName){Connection conn = null;boolean result = false;try {// jdbc 连接信息: 注: 现在版本的JDBC不需要配置driver,因为不需要Class.forName手动加载驱动String url = "jdbc:mysql://ip:端口/数据库名";String username = "用户名";String password = "密码";// 建立连接conn = DriverManager.getConnection(url, username, password);DatabaseMetaData meta = conn.getMetaData();ResultSet tables = meta.getTables (null, null, tableName, null);if (tables.next()) {result = true;}} catch (Exception e) {e.printStackTrace ();}finally {if(conn !=null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}return result;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。