excute、excuteQuery和excuteUpdate的使用方法以及区别

来源:互联网 发布:java maven 命令 编辑:程序博客网 时间:2024/06/01 07:47

                  excute、excuteQuery和excuteUpdate的使用方法以及区别

     在写一个简单的图书管理系统时,遇到了要执行的SQL语句,两句,如下:

           int i = stmt.executeUpdate(sql);

           ResultSet i = stmt.executeQuery(sql);

          (这里sql代表一个SQL语句)

    同样是要执行的SQL语句,为什么返回值类型不一样?带着这个问题,我将三个常见的excute语句查询了一下。其使用方法区别如下:

   1.excute

      

 

                execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程 或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况


   2、excuteQuery

      

            用于产生单个结果集的语句,例如 SELECT 语句

   3、excuteUpdate

      

    用于执行 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 用于更新表的时间更多,因为表只需要创建一次,但经常被更新。 


注:

      查询参考:JDK.API      在里面找到Java.sql,其中的Statement类里面有三个的区别。一开始我还找错了,很多人都会犯这个误区,因为返回值得类型是ResultSet,所以在ResultSet里面找,这个里面是没有的。





0 0
原创粉丝点击