To insert a record in the table using PreparedStatement in Java, you need to use below syntax to insert records. The syntax is as follows −
String anyVariableName= "INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" + "VALUES (?, ?, ?,..............N)";
Now use the PreparedStatement object to set the value for all columns. The syntax is as follows −
PreparedstatementObject = con.prepareStatement(query); PreparedstatementObject .setXXX(1, yourValue); PreparedstatementObject .setXXX(2, yourValue); PreparedstatementObject .setXXX(3, yourValue); . . . N
The above prepared statement will solve your problem. Now first create a table in MySQL. The query to create a table is as follows −
mysql> create table CourseDemo -> ( -> CourseId int, -> StudentName varchar(20), -> CourseName varchar(30) -> ); Query OK, 0 rows affected (1.86 sec)
The above table is in a sample database. Now here is the Java code to insert a record in the table with the help of 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(); } }
The snapshot of Java code is as follows −
The following is the output −
Enter the course id: 101 Enter the Student Name: John Enter the Course Name: Java Record is inserted successfully !!!
Here is the snapshot of sample output −
Now check the record is inserted in the table or not, therefore just open MySQL. Use the database sample and the following query to display a record from the table using a select statement −
mysql> select *from CourseDemo;
The following is the output −
+----------+-------------+------------+ | CourseId | StudentName | CourseName | +----------+-------------+------------+ | 101 | John | Java | +----------+-------------+------------+ 1 row in set (0.00 sec)
Here is the snapshot of table output −