可以通过调用 Connection 对象的 preparedStatement(String sql) 方法获取 PreparedStatement 对象
- PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL 语句
- PreparedStatement 对象所代表的 SQL 语句中的参数用问号(?)来表示,调用 PreparedStatement 对象的 setXxx() 方法来设置这些参数. setXxx() 方法有两个参数,第一个参数是要设置的 SQL 语句中的参数的索引(从 1 开始),第二个是设置的 SQL 语句中的参数的值
可以使用如下代码实现一个通用的增删改操作:
@Test public void test() { String sql = "update `order` set order_name = ? where order_id = ?"; update(sql, "DD", "2"); } // 通过可变参数进行传递 public void update(String sql, Object... args) { Connection conn = null; PreparedStatement ps = null; try { // 1.获取数据库连接 conn = JDBCUtils.getConnection(); // 2.获取PreparedStatement对象 ps = conn.prepareStatement(sql); // 3.填充占位符 for (int i = 0; i < args.length; i++) { ps.setObject(i + 1, args[i]); } // 4.执行SQL语句 ps.execute(); } catch (Exception e) { e.printStackTrace(); } finally { // 5.关闭资源 JDBCUtils.closeResource(conn, ps); } }