91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java動態拼接sql如何執行

小億
111
2023-11-30 18:01:52
欄目: 云計算

在Java中動態拼接SQL語句并執行可以使用PreparedStatement預編譯的方式,該方式可以防止SQL注入攻擊,并提高SQL的執行效率。
下面是一個簡單的示例,展示了如何動態拼接SQL并執行:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Main {

????public?static?void?main(String[]?args)?{

????????String?name?=?“John”;??//?假設需要動態拼接的查詢條件是name字段的值為John

????????

????????try?{

????????????//?連接數據庫

????????????Connection?connection?=?DriverManager.getConnection("jdbc:mysql://localhost:3306/

????????????mydb",?“username”,?“password”);

????????????

????????????//?構建SQL語句

????????????String?sql?=?“SELECT?*?FROM?my_table?WHERE?name?=??”;

????????????

????????????//?創建PreparedStatement對象

????????????PreparedStatement?statement?=?connection.prepareStatement(sql);

????????????

????????????//?設置動態參數

????????????statement.setString(1,?name);

????????????

????????????//?執行查詢

????????????ResultSet?resultSet?=?statement.executeQuery();

????????????

????????????//?處理查詢結果

????????????while?(resultSet.next())?{

????????????????//?獲取結果集中的數據

????????????????int?id?=?resultSet.getInt(“id”);

????????????????String?name?=?resultSet.getString(“name”);

????????????????

????????????????//?處理數據

????????????????System.out.println("ID:?"?+?id?+?",?Name:?"?+?name);

????????????}

????????????

????????????//?關閉連接

????????????resultSet.close();

????????????statement.close();

????????????connection.close();

????????}?catch?(SQLException?e)?{

????????????e.printStackTrace();

????????}

????} }

上述代碼中,首先創建一個Connection對象來連接數據庫,然后構建SQL語句,使用PreparedStatement對象預編譯SQL語句,并通過setXXX()方法設置動態參數,最后執行查詢操作并處理查詢結果。
需要注意的是,上述代碼中的數據庫連接信息(URL、用戶名、密碼)需要根據實際情況進行修改。

0
商城县| 苏尼特左旗| 石林| 麦盖提县| 伊宁县| 施秉县| 酒泉市| 云霄县| 商水县| 新郑市| 马龙县| 德安县| 常州市| 云林县| 三明市| 太仆寺旗| 吴江市| 乳源| 清镇市| 西藏| 金华市| 潮州市| 胶州市| 连山| 山丹县| 临清市| 武隆县| 湄潭县| 鄢陵县| 黄山市| 九江市| 郯城县| 吉安县| 绥化市| 扎兰屯市| 姜堰市| 桦甸市| 疏附县| 寿阳县| 金阳县| 都江堰市|