开发者学堂课程【Java 高级编程:Statement问题分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/437
Statement 问题分析
1、具体内容
既然 java.sql 包里面提供有 Statement 接口可以实现数据库的操作,那么为什么又要提供有一个 PreparedStatement 接口实现数据库的操作呢?
Statement接口操作问题
下面就以更新的操作为例,在 Statement 接口里面如果要想执行 SQL 语句,那么一定要通过字符串实现 SQL 结构的定义,但是这种定义如果要结合到用户输入数据的情况下就有可能会有问题存在了,下面通过一个程序做一个简单的模拟。
范例:分析 Statement 接口操作问题
INSERT INTO news(nid,title,read,price,content,pubdate) VALUES (news_sep.nextval,’MLDN新闻’老李写的,99,99.8,‘这个春天有点冷’, TO DATE(‘1971-04-10’, ‘yyy-mm-dd’))
利用 Statement 执行的 SQL 语句问题有如下三种:
· 不能很好的描述出日期的形式;
· 需要进行 SQL 语句的拼凑出处理,而导致的结果就是:SQL 语句 的编写与维护困难:
· 对于一些敏感的字符数据无法进行合理拼凑。
所以,现在就可以发现,虽然 Statement 可以操作数据库,但是其在操作的过程之中并不是那么的方便。
而它最大的弊端:需要进行 SQL 语句的拼凑。