hibernate中execute、executequery和executeupdate之間的區別
statement 介面提供了三種執行 sql 語句的方法:executequery、executeupdate 和 execute。使用哪乙個方法由 sql 語句所產生的內容決定。
方法executequery
用於產生單個結果集的語句,例如 select 語句。 被使用最多的執行 sql 語句的方法是 executequery。這個方法被用來執行 select 語句,它幾乎是使用最多的 sql 語句。
方法executeupdate
用於執行 insert、update 或 delete 語句以及 sql ddl(資料定義語言)語句,例如 create table 和 drop table。insert、update 或 delete 語句的效果是修改表中零行或多行中的一列或多列。executeupdate 的返回值是乙個整數,指示受影響的行數(即更新計數)。對於 create table 或 drop table 等不操作行的語句,executeupdate 的返回值總為零。
使用executeupdate方法是因為在 createtablecoffees 中的 sql 語句是 ddl (資料定義語言)語句。建立表,改變表,刪除表都是 ddl 語句的例子,要用 executeupdate 方法來執行。你也可以從它的名字裡看出,方法 executeupdate 也被用於執行更新表 sql 語句。實際上,相對於建立表來說,executeupdate 用於更新表的時間更多,因為表只需要建立一次,但經常被更新。
可以看到executeupdate 返回的是受影響的行數,那麼更新失敗就會返回0
同樣道理,也是返回受影響的行數
Oracle中執行update語句時卡住的解決方法
解決辦法 1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.sid,s.serial from v locked object l,dba objects o v session s where l.object id o.object id and l....
Oracle中update執行效率的優化
工作中經常遇到update大表的時候執行效率很低,那麼怎樣才能讓oracle中update資料量比較大的表執行的更快呢?先看個簡單的例子吧 需求是我們要將表intf cms calluser tpye中的lant id更新成cms.serv base msg表中的latn id,關聯條件是intf ...
Oracle中執行update語句時卡住了
今天在執行下列語句時突然就卡住了 update t properties set content1 starttime 2012 12 12 00 00 00 id 750 permoney 1100 permember 20 firstprizeprobability 5 endtime 2012...