预编译SQL语句是一种防止SQL注入攻击的有效方法。下面是一些预编译SQL语句的示例:
String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, userInput);
ResultSet rs = stmt.executeQuery();
DELIMITER //
CREATE PROCEDURE getUser(username VARCHAR(255))
BEGIN
SELECT * FROM users WHERE username = username;
END //
DELIMITER ;
String hql = "FROM User WHERE username = :username";
Query query = session.createQuery(hql);
query.setParameter("username", userInput);
List<User> users = query.list();
总之,预编译SQL语句是一种有效的防止SQL注入攻击的方法,开发人员可以根据自己的需求和技术栈选择合适的方法来保护应用程序的数据库安全。