一般情况下任何SQL语句在执行时,首先要检查其语法是否正确,明白了这个道理就更容易明白预编译就是什么了——预编译是这样的:一条SQL语句在第一次执行时,检查其语法是否正确,当第二次、第三次。。。执行该语句时就不在检查其是否正确,这样减少了检查时间,提高了代码的执行效率。而Statement则不这样执行——对于它而言每次执行SQL语句都会检查其是否正确。由此可见:当一条SQL语句第一次被执行时,使用PreparedStatement与使用Statement无异,它们都要检查语句的正确性,只不过使用PreparedStatement更安全罢了——PreparedStatement可以防止SQL注入现象的发生 。 |