创建JDBC应用程序的步骤 *(重要)

1. 载入JDBC驱动程序(数据库厂商提供)
2. 定义连接URL
3. 建立连接
4. 创建Statement对象
(相当于一个执行器,向DBMS发出陈述说名,执行sql)
5. 执行查询或更新
6. 结果处理
7. 关闭连接

下面是Statement的方法说明

public interface Statement

Statement 对象用于执行一条静态的 SQL 语句并获取它产生的结果。

任何时侯每条语句仅能打开一个 ResultSet 。因此,如果对一个 ResultSet 的读出与另一个 ResultSet 的读出交错,那么每个 ResultSet 一定由不同的语句产生。如果有 ResultSet 存在,所有的语句执行方法都隐式关闭当前的 ResultSet 。

参见:

createStatement, ResultSet

方法索引

cancel()

Cancel 用于一个线程取消另一个线程正在执行的一条语句。

clearWarnings()

此调用完成之后,getWarnings 返回 null 直到为该语句报告了一个新的警告。

close()

在很多情况下,语句自动关闭时立即释放该语句所在数据库和 JDBC 资源是需要的;close 方法就是这种立即释放方法。

execute(String)

执行一条可能返回多个结果的 SQL 语句。

executeQuery(String)

执行一条返回单个 ResultSet 的 SQL 语句。

executeUpdate(String)

执行一条 SQL INSERT、UPDATE 或 DELETE 语句。

getMaxFieldSize()

maxFieldSize 限制(以字节为单位)是可为任何列值返回的数据的最大数量;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和 LONGVARCHAR 列。

getMaxRows()

maxRows 限制是 ResultSet 可包含的最大行数。

getMoreResults()

getMoreResults 可使得移到语句的下一个结果。

getQueryTimeout()

queryTimeout 限制是驱动程序等待一条语句执行的秒数。

getResultSet()

getResultSet 返回 ResultSet 的当前结果。

getUpdateCount()

getUpdateCount 返回当前结果作为一个更新数量;如果结果是一个 ResultSet 或没有其他结果,返回 -1。

getWarnings()

返回由这条语句的调用报告的第一个警告。

setCursorName(String)

setCursorname 定义了由后继的语句执行方法使用的 SQL 游标名

setEscapeProcessing(boolean)

如果打开换码扫描(缺省), 驱动程序在向数据库发送 SQL 语句之前做换码替换。

setMaxFieldSize(int)

maxFieldSize 限制(以字节为单位)设置为任何列值返回的数据的最大数目;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和 LONGVARCHAR 域。

setMaxRows(int)

maxRows 限制限制 ResultSet 可包含的最大行数。

setQueryTimeout(int)

queryTimeout 限制是驱动程序等待一条语句执行的秒数。

方法

executeQuery

public abstract ResultSet executeQuery(String sql) throws SQLException

执行一条返回单个 ResultSet 的 SQL 语句。

参数:

sql - 典型地,这是静态的 SQL SELECT 语句

返回值:

包含由查询产生的数据的 ResultSet;永远不为 null 。

抛出: SQLException

如果发生了数据访问错误。

executeUpdate

public abstract int executeUpdate(String sql) throws SQLException

执行一条 SQL INSERT、UPDATE 或 DELETE 语句。 另外,可执行没有返回值的 SQL 语句,如 SQL DDL 语句。

参数:

sql - 一条 SQL INSERT、UPDATE 或 DELETE 语句或没有返回值的 SQL 语句

返回值:

如果执行 INSERT、UPDATE 或 DELETE 语句返回行数或者为执行没有返回值的语句返回 0

抛出: SQLException

如果发生了数据访问错误。

close

public abstract void close() throws SQLException

在很多情况下,在语句自动关闭时立即释放该语句的数据库和 JDBC 资源是需要的;close 方法就是这种立即释放方法。

注意: 当语句收集到垃圾箱,它被自动关闭。如果一条语句关闭,那么它的 ResultSet 如果存在的话也将被关闭。

抛出: SQLException

如果发生了数据访问错误。

getMaxFieldSize

public abstract int getMaxFieldSize() throws SQLException

maxFieldSize 限制(以字节为单位)是可为任何列值返回的数据的最大数量;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和 LONGVARCHAR 列。如果超过这个限制,超过的数据将被抛弃。

返回值:

当前的最大列尺寸限制;零表示无限制。

抛出: SQLException

如果发生了数据访问错误。

setMaxFieldSize

public abstract void setMaxFieldSize(int max) throws SQLException

maxFieldSize 限制(以字节为单位)是为任何列值返回的数据的最大数量;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和 LONGVARCHAR 域。如果超过这个限制,超过的数据将被丢弃。为了最大的可移植性,通常使用大于 256 的值。

参数:

max - 新的最大列尺寸限制;零表示无限制

抛出: SQLException

如果发生了数据访问错误。

getMaxRows

public abstract int getMaxRows() throws SQLException

maxRows 限制是 ResultSet 可包含的最大行数。 如果超过限制,超过的行将被丢弃。

返回值:

当前的最大行限制;零表示没有限制

抛出: SQLException

如果发生了数据访问错误。

setMaxRows

public abstract void setMaxRows(int max) throws SQLException

maxRows 限制用来限制 ResultSet 可包含的最大行数。如果超过这个限制,超过的行将被丢弃。

参数:

max - 新的最大行限制;零表示无限制

抛出: SQLException

如果发生了数据访问错误。

setEscapeProcessing

public abstract void setEscapeProcessing(boolean enable) throws SQLException

如果不作扫描是打开的(缺省值), 驱动程序在向数据库发送 SQL 语句之前将不作替换。 注意:因为准备好的语句通常在此调用之前进行了语法分析,所以对准备好的语句禁用不作处理是无效的。

参数:

enable - true 表示启用; false 表示禁用

抛出: SQLException

如果发生了数据访问错误。

getQueryTimeout

public abstract int getQueryTimeout() throws SQLException

queryTimeout 限制是驱动程序等待一条语句执行的秒数。 如果超过这个限制,则抛出 SQLException 。

返回值:

以秒记数的当前查询的超时限制;零表示无限制

抛出: SQLException

如果发生了数据访问错误。

setQueryTimeout

public abstract void setQueryTimeout(int seconds) throws SQLException

queryTimeout 限制是驱动程序等待一条语句执行的秒数。 如果超过这个限制,则抛出 SQLException 。

参数:

seconds - 以秒记数的新查询的超时限制;零表示无限制

抛出: SQLException

如果发生了数据访问错误。

cancel

public abstract void cancel() throws SQLException

Cancel 用于一个线程取消另一个线程正在执行的一条语句。

抛出: SQLException

如果发生了数据访问错误。

getWarnings

public abstract SQLWarning getWarnings() throws SQLException

返回由对这条语句的调用报告的第一个警告。语句的执行方法清除它的 SQLWarning 链。后继的语句警告将被链接到这个 SQLWarning 上。

每次执行语句时,警告链被自动清除。

注意: 如果正处理一个 ResultSet,则任何与读 ResultSet 相关的警告将连接到 ResultSet 对象上。

返回值:

第一个 SQLWarning 或 null

抛出: SQLException

如果发生了数据访问错误。

clearWarnings

public abstract void clearWarnings() throws SQLException

此调用完成之后,getWarnings 返回 null, 直到该语句产生了一个新警告为止。

抛出: SQLException

如果发生了数据访问错误。

setCursorName

public abstract void setCursorName(String name) throws SQLException

setCursorname 定义了由后继语句执行方法使用的 SQL 游标名。 该名字可用在 SQL 定位的 update/delete 语句中,来识别由该语句生成的 ResultSet 中的当前行。如果数据库不支持定位的 update/delete, 该方法无用。

注意: 由定义可知,定位的 update/delete 执行必须由不同的语句完成,而不是由生成用于定位的 ResultSet 的语句来执行。而且,游标名在连接中必须是唯一的。

参数:

name - 新的游标名。

抛出: SQLException

如果发生了数据访问错误。

execute

public abstract boolean execute(String sql) throws SQLException

执行一条可能返回多个结果的 SQL 语句。 在某些(非正常)环境下,一个单独的 SQL 语句可能返回多个结果集和/或更新数量。通常,您可忽略该方法,除非您正执行事先知道可能会返回多个结果集的存储过程,或者您动态地执行一个未知的 SQL 字符串。 "execute"、"getMoreResults"、"getResultSet" 和"getUpdateCount" 方法可使得浏览多条结果。 "execute" 方法执行一条 SQL 语句并指示最初的结果形式。可使用 getResultSet 或 getUpdateCount 方法来检索结果,及 getMoreResults 方法来移动到任何后继的结果。

参数:

sql - 任何 SQL 语句

返回值:

如果下一个结果是 ResultSet ,返回 true;如果它是一个更新数量或没有其它结果,返回 false。

抛出: SQLException

如果发生了数据访问错误。

参见:

getResultSet, getUpdateCount, getMoreResults

getResultSet

public abstract ResultSet getResultSet() throws SQLException

getResultSet 返回当前结果作为 ResultSet 。对每个结果只应调用该方法一次。

返回值:

作为 ResultSet 的当前结果;如果没有其它结果返回 null

抛出: SQLException

如果发生了数据访问错误。

参见:

execute

getUpdateCount

public abstract int getUpdateCount() throws SQLException

getUpdateCount 返回当前结果作为一个更新数量;如果结果是一个 ResultSet 或没有其他结果,返回 -1。 对每个结果只应调用该方法一次。

返回值:

作为更新数量的当前结果;如果没有其它结果则返回 null

抛出: SQLException

如果发生了数据访问错误。

参见:

execute

getMoreResults

public abstract boolean getMoreResults() throws SQLException

getMoreResults 移到语句的下一个结果。 如果结果是一个 ResultSet ,返回 true 。 getMoreResults 也隐式关闭用 getResultSet 获得的当前 ResultSet。如果 (!getMoreResults() && (getUpdateCount() == -1) 则没有下一结果。

返回值:

如果下一个结果是 ResultSet ,返回 true;如果它是一个更新数量或没有其它结果,返回 false。

抛出: SQLException

如果发生了数据访问错误。

参见:

execute

数据库 Statement(陈述说明)相关推荐

  1. 一、JAVA通过JDBC连接mysql数据库(连接)

    JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java ...

  2. mysql5.5数据库名_mysql5.5数据库名

    Linux下Web开发服务器搭建之一_MySQL Linux下Web开发服务器搭建之一 安装与配置MySQL 在现在很多中小企业中,都喜欢使用Linux+Apache+MySQL+PHP的搭配来实现企 ...

  3. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  4. java 入侵 mysql_Java访问数据库Mysql

    一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建 ...

  5. jdba怎么连接mysql_一、JAVA通过JDBC连接mysql数据库(连接)

    JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java ...

  6. android jdbc 连接mysql数据库,android怎么用JDBC方法连接mysql数据库

    2016-11-21 回答 用android程序去直连mysql数据库,觉得这样做不好,出于安全等方面考虑.数据库地址,用户名密码,查询sql什么的都存在程序里,很容易被反编译等方法看到. 建议把表示 ...

  7. 数据库应用 数据库连接技术 数据库应用开发

    目录 一.数据库应用结构 客户/服务器结构 互联网应用结构 二.数据连接技术 1.ODBC 2.ADO 3.JDBC 三.数据库应用开发 搭建Java开发数据库的环境: Java连接数据库并操作数据的 ...

  8. 编程示例:jsp在数据库中的编程

    一,SQL复习 1,SQL语句分为两类:DDL(Data Definition Language)和DML(Dat Manipulation Languge,数据操作语言).前者主要是定义数据逻辑结构 ...

  9. 【Java+MySQL】使用JDBC连接MySQL 8.0数据库

    一.Java MySQL 8.0连接驱动包 下载链接:https://pan.baidu.com/s/1YFOImz0dCHtzIajSFq9xgg?pwd=boul 提取码:boul [IDEA]导 ...

最新文章

  1. Matlab编程与数据类型 -- 循环控制语句之二:while/end
  2. 李彦宏喊你来坐出租车,无人驾驶的那种;百度还要继续搞芯片,联手华为的那种...
  3. 【jQuery插件分享】Cropper——一个简单方便的图片裁剪插件
  4. mysql查询总结_mysql查询总结相关
  5. 封装案例-创建士兵类-完成初始化方法
  6. Nginx(六)-- 配置文件之Gzip
  7. oracle dg 搭建方式,Linux平台 Oracle 11g DG测试环境快速搭建参考
  8. Spark:Yarn-cluster和Yarn-client区别与联系
  9. ORA-12154: TNS:could not resolve the connect identifier spec
  10. 程序生成30道四则运算(包括整数和真分数)
  11. MySQL 存储过程的变量
  12. 串口485接法图_RS485接线的正确原理图
  13. 华为认证、华三认证、思科认证考哪个好?
  14. 一定要记住这20种PS技术!来美化你的照片
  15. ubuntu安装搜狗输入法,并解决输入框一直显示在左下角的问题
  16. HDU 4269 Defend Jian Ge 解题报告
  17. Xmanager 6 激活
  18. 【C++学习笔记】标准库类型vector
  19. ngx之日志切割 、ngx信号
  20. [转] 好玩的电子琴(附琴谱)

热门文章

  1. NANDFLASH的学习(一)
  2. 详解使用Linux指令怎么更改文件名称
  3. 嵌入式 Qt/Qml 屏幕旋转(横屏,竖屏)问题的解决
  4. 与 xcodebuild 命令有关的目录
  5. MySQL升级的最佳实践
  6. 什么是Vue.js?适合入门小白(笔记1)
  7. Java画图drawString居中(字符串在图片居中)
  8. 【Lombok】val 和 var的使用 | 像 JavaScript 一样的去声明变量
  9. 保姆级别带你手撕红黑树BRTree
  10. 开工大吉 | 兔年启新程,万事尽可期