java新增mysql数据,用参数名占位符预处理
时间: 2024-03-14 07:43:36 浏览: 111
Mybatis日志参数快速替换占位符工具的详细步骤
好的,以下是Java使用参数名占位符预处理方式实现向MySQL数据库中新增数据的示例代码:
```java
import java.sql.*;
public class MySQLDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库连接地址
String user = "root"; // 数据库用户名
String password = "123456"; // 数据库密码
try {
// 1. 加载MySQL驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 创建数据库连接
Connection con = DriverManager.getConnection(url, user, password);
// 3. 创建PreparedStatement对象,使用参数名占位符
PreparedStatement ps = con.prepareStatement("INSERT INTO students(id, name, age) VALUES(:id, :name, :age)");
// 4. 设置新增参数
ps.setInt("id", 1);
ps.setString("name", "Tom");
ps.setInt("age", 20);
// 5. 执行新增
int rows = ps.executeUpdate();
System.out.println(rows + " rows affected.");
// 6. 关闭资源
ps.close();
con.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
```
上面的代码使用了参数名占位符的方式,其中使用冒号加上参数名的方式来代替了传统的问号占位符。需要注意的是,使用参数名占位符的方式需要在连接字符串中添加`rewriteBatchedStatements=true`参数,并且MySQL版本需要在5.1.13及以上。
需要替换url、user和password为你自己的数据库连接信息。如果需要新增多条记录,只需要在PreparedStatement对象中设置多组参数,然后通过executeBatch()方法一次性执行即可。
另外,如果使用的是MyBatis等ORM框架,也可以使用类似于上面的方式来实现预处理。
阅读全文