面试是找到好工作很重要的环节,所以要事先作足准备,熟悉各种面试题。今天,华清Java就业老师给大家分享的Java面试题是:Statement和PreparedStatement的区别是什么?哪个性能更好?
Statement和PreparedStatement都是用于执行SQL语句的句柄,但是PreparedStatement代表的是一个预编译的SQL。以下是Statement和PreparedStatement的区别,也是PreparedStatement相对Statement的优势:
①PreparedStatement接口代表预编译的语句,它主要的优势在于可以减少SQL的编译错误并增加SQL的安全性(减少SQL注射攻击的可能性);
②PreparedStatement中的SQL语句是可以带参数的,避免了用字符串连接拼接SQL语句的麻烦和不安全;
③当批量处理SQL或频繁执行相同的查询时,PreparedStatement有明显的性能上的优势,由于数据库可以将编译优化后的SQL语句缓存起来,下次执行相同结构的语句时就会很快(不用再次编译和生成执行计划)
所以总体上来说,PreparedStatement在使用和性能方面比Statement更有优势。
更多Java面试题?
热点新闻