Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

Java में PreparedStatement का उपयोग करके MySQL टेबल में रिकॉर्ड कैसे डालें?


PreparedStatement के साथ पैरामीटराइज़्ड INSERT

SQL इंजेक्शन रोकने और प्रदर्शन में सुधार के लिए Java में PreparedStatement का उपयोग करें। प्लेसहोल्डर (?) के साथ SQL लिखें और सेटर मेथड्स से मान बांधें।

सिंटैक्स

String query = "INSERT INTO yourTableName(col1, col2, col3) VALUES (?, ?, ?)";
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setXXX(1, value1);
pstmt.setXXX(2, value2);
pstmt.setXXX(3, value3);
int rowsAffected = pstmt.executeUpdate();

MySQL टेबल बनाना

mysql> CREATE TABLE CourseDemo (
    CourseId INT,
    StudentName VARCHAR(20),
    CourseName VARCHAR(30)
);

पूर्ण Java कोड

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
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;
        PreparedStatement pstmt = null;
        Scanner keyboardInput = new Scanner(System.in);
        
        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();
        } finally {
            try { if (pstmt != null) pstmt.close(); } catch (Exception e) {}
            try { if (con != null) con.close(); } catch (Exception e) {}
        }
    }
    
    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();
    }
}

आउटपुट उदाहरण

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

MySQL में सत्यापन

mysql> SELECT * FROM CourseDemo;
+----------+-------------+------------+
| CourseId | StudentName | CourseName |
+----------+-------------+------------+
|      101 | John        | Java       |
+----------+-------------+------------+

कोड स्क्रीनशॉट

Java में PreparedStatement का उपयोग करके MySQL टेबल में रिकॉर्ड कैसे डालें? Java में PreparedStatement का उपयोग करके MySQL टेबल में रिकॉर्ड कैसे डालें?

मुख्य बिंदु

  • PreparedStatement SQL इंजेक्शन रोकता है (मान एस्केप किए जाते हैं)।
  • समान कथन के बार-बार निष्पादन के लिए योजना कैशिंग के कारण तेज़।
  • प्रकार-विशिष्ट सेटर: setInt, setString, setDouble, setDate, setTimestamp, setNull, आदि।
  • पैरामीटर इंडेक्स 1-आधारित हैं।
  • हमेशा finally या try-with-resources में संसाधन बंद करें।

Maven निर्भरता

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.33</version>
</dependency>
  1. Java का उपयोग करके MySQL टेबल में रिकॉर्ड डालें Java का उपयोग करके MySQL टेबल में रिकॉर्ड डालें

    JDBC Statement या PreparedStatement का उपयोग करके Java एप्लिकेशन से MySQL में रिकॉर्ड डालें। टेबल बनाना CREATE TABLE DemoTable( Id INT, Name VARCHAR(30), CountryName VARCHAR(30), Age INT ); Query OK, 0 rows affected (0.66 sec) Java कोड (Statement) 0) { System.out.

  1. Java के साथ MySQL टेबल में केवल एक कॉलम कैसे इन्सर्ट करें? Java के साथ MySQL टेबल में केवल एक कॉलम कैसे इन्सर्ट करें?

    Java-MySQL कनेक्शन कोड में एक कॉलम इन्सर्ट करने के लिए INSERT INTO स्टेटमेंट का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.54 sec) MySQL टेबल में केवल एक कॉलम इन्सर्ट करने का जावा कोड यहाँ है। उदाहरण

  1. Java में JDBC ResultSet से MySQL टेबल मान प्रदर्शित करें Java में JDBC ResultSet से MySQL टेबल मान प्रदर्शित करें

    टेबल और डेटा insert into demo87 values(John,21), (David,23), (Bob,22); Java कोड: ResultSet से HashMap में डेटा import java.sql.*; import java.util.*; import com.mysql.jdbc.Statement; public class TableValuesDemo { public static void main(String[] args) { Connection con = null;