Computer >> Máy Tính >  >> Lập trình >> MySQL

Chèn bản ghi vào bảng MySQL bằng PreparedStatement trong Java?

Để chèn bản ghi vào bảng bằng PreparedStatement trong Java, bạn cần sử dụng cú pháp dưới đây để chèn bản ghi. Cú pháp như sau -

String anyVariableName= "INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" +
"VALUES (?, ?, ?,..............N)";

Bây giờ sử dụng đối tượng PreparedStatement để đặt giá trị cho tất cả các cột. Cú pháp như sau -

PreparedstatementObject = con.prepareStatement(query);
PreparedstatementObject .setXXX(1, yourValue);
PreparedstatementObject .setXXX(2, yourValue);
PreparedstatementObject .setXXX(3, yourValue);
.
.
.
N

Tuyên bố chuẩn bị ở trên sẽ giải quyết vấn đề của bạn. Bây giờ, trước tiên hãy tạo một bảng trong MySQL. Truy vấn để tạo bảng như sau -

mysql> create table CourseDemo
-> (
-> CourseId int,
-> StudentName varchar(20),
-> CourseName varchar(30)
-> );
Query OK, 0 rows affected (1.86 sec)

Bảng trên nằm trong cơ sở dữ liệu mẫu. Bây giờ đây là mã Java để chèn một bản ghi trong bảng với sự trợ giúp của PreparedStatement -

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://localhost: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();
   }
}

Ảnh chụp nhanh của mã Java như sau -

Sau đây là kết quả -

Enter the course id:
101
Enter the Student Name:
John
Enter the Course Name:
Java
Record is inserted successfully !!!

Đây là ảnh chụp nhanh của đầu ra mẫu -

Chèn bản ghi vào bảng MySQL bằng PreparedStatement trong Java?

Bây giờ hãy kiểm tra bản ghi có được chèn trong bảng hay không, do đó chỉ cần mở MySQL. Sử dụng mẫu cơ sở dữ liệu và truy vấn sau để hiển thị bản ghi từ bảng bằng câu lệnh select -

mysql> select *from CourseDemo;

Sau đây là kết quả -

+----------+-------------+------------+
| CourseId | StudentName | CourseName |
+----------+-------------+------------+
| 101      | John        | Java       |
+----------+-------------+------------+
1 row in set (0.00 sec)

Đây là ảnh chụp đầu ra của bảng -

Chèn bản ghi vào bảng MySQL bằng PreparedStatement trong Java?