JDBC之创建PreparedStatement

创建PreparedStatement

通过调用 Connection 对象的 preparedStatement() 方法获取 PreparedStatement 对象;PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL 语句。

Java代码:

	String sql = "update user set name=? where id=?";
	PreparedStatement statement = connection.prepareStatement(sql);

动态传参

PreparedStatement 对象所代表的 SQL 语句中的参数用问号(?)来表示;调用 PreparedStatement 对象的 setXxx() 方法来设置这些参数;setXxx() 方法有两个参数,第一个参数是要设置的 SQL 语句中的参数的索引(从 1 开始),第二个是设置的 SQL 语句中的参数的值;其中Xxx指的是数据类型。

	String sql = "update user set name=? where id=?";
	PreparedStatement statement = connection.prepareStatement(sql);
	statement.setString(1, "jackma");
	statement.setLong(2, 1);

PreparedStatement vs Statement

PreparedStatement可以防止SQL注入攻击;并且PreparedStatement会对SQL语句进行预编译,再次执行相同的语句不需要再次进行编译,可以提高执行效率。

通过PreparedStatement执行sql语句

	//获取数据库连接
	Connection connection = JDBCTools.getConnection();
	//创建preparedStatement
	String sql = "update user set name=? where id=?";
	PreparedStatement statement = connection.prepareStatement(sql);
	//填充占位符参数
	statement.setString(1, "jackma");
	statement.setLong(2, 1);
	//执行更新语句
	int affectedRows = statement.executeUpdate();

猜你喜欢

转载自blog.csdn.net/zhuzhuxia2020/article/details/89298785