JavaFX程序初次运行创建数据库并执行建表的SQL详解

  

在我的第一个JavaFX程序完成安装的时候才突然发现,不能要用这个软件还要手动执行Sql来建表吧?

  

于是我的想法是在主程序中执行时检测数据库连接状况,如果没有检测到数据库或者连接异常,那么出现错误提示,如果数据库连接没有问题那么自动创建数据库并执行建表的Sql进行初始化。

        包oa.util;   进口java.io.IOException;   进口java.sql.DriverManager;   进口java.sql.SQLException;   进口java.util.Properties;   进口org.apache.ibatis.jdbc.ScriptRunner;   进口com.ibatis.common.resources.Resources;   进口com.mysql.jdbc.Connection;   进口com.mysql.jdbc.Statement;   公开课CreateMySqlDatabase {   公共静态孔隙createDatabase()抛出SQLException {   康涅狄格州连接;   康涅狄格州=DriverManager(连接)。getConnection (" jdbc: mysql://localhost: 3306/", "根"," 1234 ");   声明支撑=(声明)conn.createStatement ();   字符串sql=按唇ㄊ菘馐涤贸绦颉?   stmt.executeUpdate (sql);   }   公共静态孔隙executeSql()抛出IOException SQLException {   属性道具=Resources.getResourceAsProperties (“mysql.properties”);   字符串url=props.getProperty (“jdbc.url”);   字符串的用户名=props.getProperty (“jdbc.username”);   字符串密码=props.getProperty (“jdbc.password”);   DriverManager连接康涅狄格州=(连接)。getConnection (url、用户名、密码);   ScriptRunner跑=new ScriptRunner(康涅狄格州);   runner.setErrorLogWriter(空);   runner.setLogWriter(空);   runner.runScript (Resources.getResourceAsReader (sql/utility.sql));   conn.close ();   System.out.println(“====成功”);   }   }      

需要用到ibatis -常见的- 2. - jar读取mysql.properties文件中的JDBC信息。

  

主要做判断:

        尝试{   DriverManager。getConnection (" jdbc: mysql://localhost: 3306/效用”,“根”,“1234”);   返回错误=false;   }捕捉(MySQLSyntaxErrorException e) {   primaryStage.setTitle(“正在创建效用数据库……”);   标签错误=新标签(“正在创建效用数据库……”);   错误。setFont(新字体(“威尔士”,100));   面板面板=new窗格();   pane.getChildren阀门()(错误);   现场场景=新场景(面板);   primaryStage.setScene(现场);   primaryStage.show ();   尝试{   CreateMySqlDatabase.createDatabase ();   CreateMySqlDatabase.executeSql ();   返回错误=false;   primaryStage.close ();   }捕捉(SQLException | IOException e1) {   primaryStage.close ();   e1.printStackTrace ();   }      }捕捉(SQLException se) {   thread . sleep (3000);   primaryStage.close ();   se.printStackTrace ();   }      如果(!返回错误){   run ();   }      }   公共静态void main (String [] args) {   发射(args);   }      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

JavaFX程序初次运行创建数据库并执行建表的SQL详解