使用JDBC中的PreparedStatement操作MySQL資料庫表
阿新 • • 發佈:2020-12-09
根據一文先將資料庫和表建立完畢。
- 引入依賴
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
</dependencies>
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Test { private static final String url = "jdbc:mysql://gosuncn.fun:3306/gosuncn?serverTimezone=Asia/Shanghai&characterEncoding=utf8"; private static final String user = "gosuncn"; private static final String password = "gosuncn"; private static final String sql = "insert into t_user (username, password) VALUES (?, ?)"; public static void main(String[] args) { try (Connection connection = DriverManager.getConnection(url, user, password); PreparedStatement preparedStatement = connection.prepareStatement(sql)) { preparedStatement.setString(1, "黎明"); preparedStatement.setString(2, "123456"); int effectRowCount = preparedStatement.executeUpdate(); System.out.println("effectRowCount = " + effectRowCount); } catch (SQLException exception) { System.out.println("SQLException Happening ..."); } } }
executeUpdate()
方法可以執行插入
、更新
、刪除
以及像DML
沒有返回值的語句。
返回值:
(1)
、執行DML
語句返回受影響的行數。
(2)
、沒有返回的內容的語句返回值為0
。
insert into t_user (username, password) VALUES (?, ?)
preparedStatement.setString(1, "黎明")
設定第1個 ❓
的值。
preparedStatement.setString(2, "123456")
設定第2個 ❓
的值。