浏览 17522 次
锁定老帖子 主题:SQL语句与Hibernate语句的比较
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2003-09-13
当where子句的条件不确定的时候,使用PreparedStatement是非常痛苦的,因为Statment可以简单的用常量代入的方式动态构造sql,而PreparedStatement的的set参数的方法是按照数字索引的,比如: setString(1,...); setBoolean(2,...); 就造成了动态构造的sql,你无法确定参数的1,2这样的数字顺序,除非使用很大很麻烦的if else嵌套才能够勉强解决。 但是Hibernate好在可以使用带名的Placehold,就是这样: select * from table where user = :name 然后set参数的时候,就可以setString("name",...); 由于set参数和顺序无关,就很容易实现动态构造sql。 这也是Hibernate的一个很大的优点。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-09-15
可以用名字来set真是方便,不然想动态构造WHERE子句真非常麻烦。petstore中的动态构造过程就复杂,代码的可读性太差。
|
|
返回顶楼 | |
发表时间:2003-09-16
感觉gavin是个很有经验的程序员
他很清楚程序员需要什么 |
|
返回顶楼 | |
发表时间:2003-09-16
呵呵,看看精华区我翻译的Gavin的文章
为什么Hibernate如此成功? 可以看出他写程序的理念 |
|
返回顶楼 | |