2013-10-29 29 views
0

我有一個Java應用程序,我需要它使用JDBC連接我的MySQL數據庫的SQL腳本。JDBC連接MySQL腳本需要使用ScriptRunner的幫助

這是我的Java應用程序:

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package basic; 
import basic.ScriptRunner; 
import javax.swing.*; 
import java.sql.*; 
import java.io.*; 

/** 
* 
* @author User 
*/ 
public class javaconnect { 
    Connection conn = null; 
    public static Connection ConnectDb(){ 
try{ 
Class.forName("com.mysql.jdbc.Driver"); 
Connection conn= (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/new","login","pass"); 
/*As we are creating a connection on a local computer we will write the url as jdbc:mysql://localhost:3306 */ 
ScriptRunner runner = new ScriptRunner(conn, false, false); 
runner.runScript(new BufferedReader(new FileReader("D://Java Lenti/EkonomiSoftware/src/basic/new.sql"))); 

return conn ; 
} 
catch(Exception e){ 
    JOptionPane.showMessageDialog(null, e); 
return null;} 


} 

} 

的問題是,在Java應用程序連接至MySQL服務器,而不是通過SQL腳本。我認爲問題在於我給出的連接參數。任何人都可以指導我如何更改連接,使其連接到SQL腳本而不是服務器?

回答

0

它的工作對我來說:

package com.spring.sample.controller; 

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.sql.Connection; 
import java.sql.DriverManager; 

public class Main { 

    public static void main(String[] args) { 
     try { 

      Class.forName("com.mysql.jdbc.Driver"); 

      Connection conn = (Connection) DriverManager 
        .getConnection(
          "", 
          "", ""); 

      ScriptRunner runner = new ScriptRunner(conn, false, false); 
      runner.runScript(new BufferedReader(new FileReader("new.sql"))); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

} 

new.sql

insert into hello(name) values ('test'); 

可能存在因爲你的SQL文件中的一些錯誤。

+0

我應該把什麼放在.getConnection()? – codeDevil

+0

這是您的主機,用戶名,密碼 –