关于JAVA下的SQL语句
什么情况下需要用预编译的SQL语句,preparsStatement(sql);
什么情况下用createStatement()语句?
什么情况下需要用预编译的SQL语句,preparsStatement(sql);
什么情况下用createStatement()语句?
2016-09-10
什么都不要想,需要用就直接preparedstatement,1安全有效防止SQL恶意语句 2效率高 3代码整洁可读性 4可维护性
举个例子"SELECT * FROM users WHERE name = 'dsadsfsfwe' OR '1'='1' and pw = 'd1s2qw1as2d' OR '1'='1';" 因为1=1,所以这个SQL语句恒为可执行,所以你用户名密码不写也能登陆网站,这叫SQL恶意攻击,要是黑客良心更不好,直接"SELECT * FROM users WHERE name = 'any_value' and pw = ''; DROP TABLE users"。那恭喜你,你的users表就会被人删了。
举报