statement问题分析
如果需要用户输入,statement将不方便执行。
利用statement执行SQL的三个问题:
- 不能很好的描述出日期的形式
- SQL语句拼凑处理导致维护困难
- 无法拼接敏感字符数据
最大的问题:需要进行SQL语句的拼凑
PreparedStatement接口简介
PreparedStatement是statement的子接口
优点:数据和SQL语法可以不混合,利用占位符,当SQL正常执行完毕后可以进行数据的设置。
实现:PreparedStatement的实例需要通过Connection接口来实现,创建方法:PreparedStatement prepareStatement(String sql) throws SQLException
(注:方法名为preparestatement,没有d)
数据库更新:int executeUpdate() throws SQLException
数据库查询:ResultSet executeQuery() throws SQLException
其SQL语句中使用“?”作为占位符
JDBC中的Data数据类型,不管是ResultSet中的Data,还是PreparedStatement中setData的Data,都是java.util.Data的子类
PreparedStatement实现数据的查询
1.查询全部数据
2.根据ID进行数据查询
3.分页实现数据查询
第一页:
第二页:
4.统计指定关键字的新闻数量
在使用COUNT()函数做统计查询时一定会返回查询结果
数据量多时使用long更合适