根据《JDBC测试MySQL准备工作》一文先将数据库和表创建完毕。
- 引入依赖
<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个 ❓
的值。
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