使用 Java 中的 PreparedStatement 将记录插入 MySQL 表?
mysqlmysqli databasejava 8更新于 2023/11/23 6:15:00
要使用 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
上面的准备好的语句将解决您的问题。现在首先在 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://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(); } }
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)
这是表输出的快照 −