簡體   English   中英

Java Netbeans MySql 數據庫連接

[英]Java Netbeans MySql database Connection

我想在 Java Netbeans 中使用普通的 Mysql 連接程序將行插入 MySql 數據庫,但是當我運行此代碼時,我的數據庫不受影響。我已經設置了與 Netbeans 和 Mysql 的連接,並且工作正常。

代碼:

    import java.sql.*;

    public class MySqlConnection {


       static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
       static final String DB_URL = "jdbc:mysql://localhost:3306/migration";
       static final String USER = "root";
       static final String PASS = "ngts12345";

       public static void main(String[] args) {

            Connection conn = null;

            try{
             Class.forName("com.mysql.jdbc.Driver");
             System.out.println("Connecting to a selected database...");
             conn = DriverManager.getConnection(DB_URL, USER, PASS);
             System.out.println("Connected database successfully...");
             System.out.println("Inserting records into the table...");

             String sql = "INSERT INTO document (document_id, document_name, format)" +
            "VALUES (?, ?, ?)";
             PreparedStatement preparedStatement = conn.prepareStatement(sql);
             preparedStatement.setInt(1, 1);
             preparedStatement.setString(2, "Test2");
             preparedStatement.setString(3, "Test3");
             preparedStatement.executeUpdate(); 
             preparedStatement.close();  
             conn.close();  
        }catch(SQLException se){
          //Handle errors for JDBC

       }catch(Exception e){
          //Handle errors for Class.forName

       }
     }
  }

format)后沒有空格format)values

將此行更改為

String sql = "INSERT INTO document (document_id, document_name, format)" +
        "VALUES (?, ?, ?)";

String sql = "INSERT INTO document(document_id, document_name, format) " +
        "VALUES (?, ?, ?)";

嘗試這樣做:

preparedStatement.executeUpdate(sql); 

你還應該指定數據庫

String sql = "INSERT INTO database_name.document (document_id, document_name, format)" +"VALUES (?, ?, ?)";
try{      
  Class.forName("com.mysql.jdbc.Driver"); // MySQL database  connection
  conn = DriverManager.getConnection("jdbc:mysql://localhost:3306","root","");
  String sql = "select * from 'table_name'.database_name where user=? and pass=?";
  pst = conn.prepareStatement(sql);
  rs= pst.executeQuery();
}

注意preparedStatement.executeUpdate() 返回true(插入、更新或刪除記錄成功)或false(不成功)。 因此,我建議打印出結果,看看它是否有效。

至於沒有收到錯誤消息,你是在消費異常而不是打印出錯誤嗎? 在您的 catch 塊中,放入 e.printStackTrace() 以查看錯誤是什么。

一切都很好,但您必須更改驅動程序名稱

com.mysql.cj.jdbc.Driver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM