ในการแทรกระเบียนในตารางโดยใช้ PreparedStatement ใน Java คุณต้องใช้ไวยากรณ์ด้านล่างเพื่อแทรกระเบียน ไวยากรณ์มีดังนี้ −
String anyVariableName="INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" +"ค่า (?, ?, ?,........... ...N)";
ตอนนี้ใช้อ็อบเจ็กต์ PreparedStatement เพื่อตั้งค่าสำหรับคอลัมน์ทั้งหมด ไวยากรณ์มีดังนี้ −
PreparedstatementObject =con.prepareStatement(query);PreparedstatementObject .setXXX(1, yourValue);PreparedstatementObject .setXXX(2, yourValue);PreparedstatementObject .setXXX(3, yourValue);...N
ข้อความที่เตรียมไว้ข้างต้นจะช่วยแก้ปัญหาของคุณได้ ตอนนี้สร้างตารางใน MySQL ก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง CourseDemo-> (-> CourseId int,-> StudentName varchar(20),-> CourseName varchar(30)-> );Query OK, 0 แถวได้รับผลกระทบ (1.86 วินาที)
ตารางด้านบนอยู่ในฐานข้อมูลตัวอย่าง นี่คือรหัส Java เพื่อแทรกบันทึกในตารางด้วยความช่วยเหลือของ PreparedStatement -
<ก่อนหน้า> นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager นำเข้า java.sql.PreparedStatement นำเข้า java.sql.Statement นำเข้า java.util.Scanner คลาสสาธารณะ InsertRecordInPreparedStatement { สแตติก int cid; ชื่อนักเรียนสตริงคงที่; ชื่อหลักสูตรสตริงคงที่; โมฆะคงที่สาธารณะหลัก (สตริง [] args) { สตริง JdbcURL ="jdbc:mysql://localhost:3306/sample?useSSL =false"; ชื่อผู้ใช้สตริง ="รูท"; รหัสผ่านสตริง ="123456"; การเชื่อมต่อ con =null; สแกนเนอร์ keyboardInput=สแกนเนอร์ใหม่(System.in); PreparedStatement pstmt =null; ข้อความค้นหาสตริง ="INSERT INTO CourseDemo(CourseId, StudentName, CourseName)" + "VALUES (?, ?, ?)"; ลอง { con =DriverManager.getConnection (JdbcURL, ชื่อผู้ใช้, รหัสผ่าน); อินพุต (คีย์บอร์ดอินพุต); pstmt =con.prepareStatement (แบบสอบถาม); pstmt.setInt(1, cid); pstmt.setString(2, ชื่อนักเรียน); pstmt.setString(3, ชื่อหลักสูตร); สถานะ int =pstmt.executeUpdate(); if(status> 0) { System.out.println("บันทึกเรียบร้อยแล้ว !!!"); } } catch(ข้อยกเว้น จ){ e.printStackTrace(); } } อินพุตโมฆะคงที่สาธารณะ (Scanner keyboardInput) { System.out.println ("ป้อนรหัสหลักสูตร:"); cid =keyboardInput.nextInt(); System.out.println("ป้อนชื่อนักเรียน:"); studentName =keyboardInput.next(); System.out.println("ใส่ชื่อรายวิชา:"); ชื่อหลักสูตร =keyboardInput.next(); }}สแนปชอตของโค้ด Java มีดังต่อไปนี้ −
ต่อไปนี้เป็นผลลัพธ์ -
ป้อนรหัสหลักสูตร:101ป้อนชื่อนักเรียน:Johnป้อนชื่อหลักสูตร:JavaRecord ถูกแทรกสำเร็จแล้ว !!!
นี่คือสแนปชอตของเอาต์พุตตัวอย่าง -
ตอนนี้ตรวจสอบว่าบันทึกถูกแทรกในตารางหรือไม่ดังนั้นให้เปิด MySQL ใช้ตัวอย่างฐานข้อมูลและแบบสอบถามต่อไปนี้เพื่อแสดงบันทึกจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก CourseDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----------+-------------+-----------+| รหัสหลักสูตร | ชื่อนักเรียน | ชื่อหลักสูตร |+----------+-------------+-----------+| 101 | จอห์น | Java |+----------+-------------+----------- +1 แถวในชุด (0.00 วินาที)นี่คือสแนปชอตของเอาต์พุตตาราง -