在Java中使用PreparedStatement插入MySQL表記錄?
要在Java中使用PreparedStatement在表中插入記錄,需要使用以下語法插入記錄。語法如下:
String anyVariableName= "INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" + "VALUES (?, ?, ?,..............N)";
現在使用PreparedStatement物件為所有列設定值。語法如下:
PreparedstatementObject = con.prepareStatement(query); PreparedstatementObject .setXXX(1, yourValue); PreparedstatementObject .setXXX(2, yourValue); PreparedstatementObject .setXXX(3, yourValue); . . . N
以上prepared statement將解決您的問題。現在首先在MySQL中建立一個表。建立表的查詢如下:
mysql> create table CourseDemo -> ( -> CourseId int, -> StudentName varchar(20), -> CourseName varchar(30) -> ); Query OK, 0 rows affected (1.86 sec)
上表位於示例資料庫中。以下是使用PreparedStatement在表中插入記錄的Java程式碼:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; import java.util.Scanner; public class InsertRecordInPreparedStatement { static int cid; static String studentName; static String courseName; public static void main(String[] args) { String JdbcURL = "jdbc:mysql://:3306/sample?useSSL=false"; String Username = "root"; String password = "123456"; Connection con = null; Scanner keyboardInput=new Scanner(System.in); PreparedStatement pstmt = null; String query = "INSERT INTO CourseDemo(CourseId, StudentName, CourseName)" + "VALUES (?, ?, ?)"; try { con = DriverManager.getConnection(JdbcURL, Username, password); input(keyboardInput); pstmt = con.prepareStatement(query); pstmt.setInt(1, cid); pstmt.setString(2, studentName); pstmt.setString(3, courseName); int status = pstmt.executeUpdate(); if(status > 0) { System.out.println("Record is inserted successfully !!!"); } } catch(Exception e){ e.printStackTrace(); } } public static void input(Scanner keyboardInput) { System.out.println("Enter the course id:"); cid = keyboardInput.nextInt(); System.out.println("Enter the Student Name:"); studentName = keyboardInput.next(); System.out.println("Enter the Course Name:"); courseName = keyboardInput.next(); } }
Java程式碼快照如下:
輸出如下:
Enter the course id: 101 Enter the Student Name: John Enter the Course Name: Java Record is inserted successfully !!!
示例輸出快照如下:
現在檢查記錄是否已插入表中,因此只需開啟MySQL。使用資料庫示例和以下查詢,使用select語句顯示錶中的記錄:
mysql> select *from CourseDemo;
輸出如下:
+----------+-------------+------------+ | CourseId | StudentName | CourseName | +----------+-------------+------------+ | 101 | John | Java | +----------+-------------+------------+ 1 row in set (0.00 sec)
表輸出快照如下:
廣告