JDBC में PreparedStatement का उपयोग करके पैरामीटरीकृत अपडेट को सुरक्षित रूप से निष्पादित करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable(Id INT, FirstName VARCHAR(40));
Query OK, 0 rows affected (0.62 sec)
mysql> INSERT INTO DemoTable VALUES(100,'Chris'),(111,'Mike'),(121,'Sam');
अपडेट से पहले
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------+-----------+
| Id | FirstName |
+------+-----------+
| 100 | Chris |
| 111 | Mike |
| 121 | Sam |
+------+-----------+
Java कोड (PreparedStatement)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class UpdateFromJava {
public static void main(String[] args) {
Connection con = null;
PreparedStatement ps = null;
try {
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/web?useSSL=false", "root", "123456");
String query = "UPDATE DemoTable SET FirstName=? WHERE Id=?";
ps = con.prepareStatement(query);
ps.setString(1, "Tom");
ps.setInt(2, 100);
ps.executeUpdate();
System.out.println("Record is updated successfully......");
} catch (Exception e) {
e.printStackTrace();
} finally {
// संसाधन बंद करें
try { if (ps != null) ps.close(); } catch (Exception ignore) {}
try { if (con != null) con.close(); } catch (Exception ignore) {}
}
}
}
आउटपुट
Record is updated successfully......
सत्यापन
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------+-----------+
| Id | FirstName |
+------+-----------+
| 100 | Tom |
| 111 | Mike |
| 121 | Sam |
+------+-----------+
सर्वोत्तम अभ्यास: हमेशा SQL इंजेक्शन रोकने के लिए PreparedStatement का उपयोग करें। उत्पादन में कनेक्शन पूलिंग (HikariCP) और उचित अपवाद प्रबंधन का उपयोग करें।