Java访问数据库的“三驾马车”,分别是Statement、PreparedStatement和CallableStatement,它们都用于执行特定的 SQL 语句。
1、Statement
Statement 包括execute、 executeQuery 和 executeUpdate三种方法执行方法。执行不带参数的简单 SQL 语句(但可用字符串连接拼接SQL语句带参数),以获取执行结果。
2、PreparedStatement
PreparedStatement 继承于 Statement,拥有Statement的全部功能,其执行速度比Statement 快。
PreparedStatement的SQL语句可以带in参数,避免字符串拼接SQL语句的麻烦和不安全。
使用“?”占位符代替参数名称,提升代码的可读性和可维护性。
PreparedStatement的优点是预编译 SQL 语句,减少编译错误,增加了SQL的安全性,即防止SQL注入攻击。
PreparedStatement执行批量处理SQL或频繁执行相同查询时,有较大的性能优势。
因为数据库可以将编译优化后的SQL语句保存起来,再次执行时就很快,因为不用再编译和生成SQL执行计划。
3、CallableStatement
CallableStatement 执行数据库中的存储过程。即通过指定存储过程名和参数执行,以获取执行结果。
领取专属 10元无门槛券
私享最新 技术干货