PreparedStatement 防止sql注入
- PreparedStatement 防止sql注入的本质,把传递进来的参数当做字符
- 假设其中存在转义字符,比如说 ` 会直接直接转义
package JDBCmysql.Demo03;
import JDBCmysql.Demo02.Demo01;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class preparedStatementA {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = Demo01.getTConnection();
String sql = "INSERT INTO users (id,name,psw, email, birthday)" + "VALUES(?,?,?,?,?);";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 5);
preparedStatement.setString(2, "xiaowang");
preparedStatement.setObject(3, "123456");
preparedStatement.setString(4, "22222@222.com");
preparedStatement.setDate(5, new java.sql.Date(new java.util.Date().getTime()));
int i = preparedStatement.executeUpdate();
if (i > 0) {
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
Demo01.Cclose(null, preparedStatement, connection);
}
}
}
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决