数据库 Statement(陈述说明)
创建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(陈述说明)相关推荐
- 一、JAVA通过JDBC连接mysql数据库(连接)
JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java ...
- mysql5.5数据库名_mysql5.5数据库名
Linux下Web开发服务器搭建之一_MySQL Linux下Web开发服务器搭建之一 安装与配置MySQL 在现在很多中小企业中,都喜欢使用Linux+Apache+MySQL+PHP的搭配来实现企 ...
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作
此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...
- java 入侵 mysql_Java访问数据库Mysql
一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建 ...
- jdba怎么连接mysql_一、JAVA通过JDBC连接mysql数据库(连接)
JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java ...
- android jdbc 连接mysql数据库,android怎么用JDBC方法连接mysql数据库
2016-11-21 回答 用android程序去直连mysql数据库,觉得这样做不好,出于安全等方面考虑.数据库地址,用户名密码,查询sql什么的都存在程序里,很容易被反编译等方法看到. 建议把表示 ...
- 数据库应用 数据库连接技术 数据库应用开发
目录 一.数据库应用结构 客户/服务器结构 互联网应用结构 二.数据连接技术 1.ODBC 2.ADO 3.JDBC 三.数据库应用开发 搭建Java开发数据库的环境: Java连接数据库并操作数据的 ...
- 编程示例:jsp在数据库中的编程
一,SQL复习 1,SQL语句分为两类:DDL(Data Definition Language)和DML(Dat Manipulation Languge,数据操作语言).前者主要是定义数据逻辑结构 ...
- 【Java+MySQL】使用JDBC连接MySQL 8.0数据库
一.Java MySQL 8.0连接驱动包 下载链接:https://pan.baidu.com/s/1YFOImz0dCHtzIajSFq9xgg?pwd=boul 提取码:boul [IDEA]导 ...
最新文章
- Matlab编程与数据类型 -- 循环控制语句之二:while/end
- 李彦宏喊你来坐出租车,无人驾驶的那种;百度还要继续搞芯片,联手华为的那种...
- 【jQuery插件分享】Cropper——一个简单方便的图片裁剪插件
- mysql查询总结_mysql查询总结相关
- 封装案例-创建士兵类-完成初始化方法
- Nginx(六)-- 配置文件之Gzip
- oracle dg 搭建方式,Linux平台 Oracle 11g DG测试环境快速搭建参考
- Spark:Yarn-cluster和Yarn-client区别与联系
- ORA-12154: TNS:could not resolve the connect identifier spec
- 程序生成30道四则运算(包括整数和真分数)
- MySQL 存储过程的变量
- 串口485接法图_RS485接线的正确原理图
- 华为认证、华三认证、思科认证考哪个好?
- 一定要记住这20种PS技术!来美化你的照片
- ubuntu安装搜狗输入法,并解决输入框一直显示在左下角的问题
- HDU 4269 Defend Jian Ge 解题报告
- Xmanager 6 激活
- 【C++学习笔记】标准库类型vector
- ngx之日志切割 、ngx信号
- [转] 好玩的电子琴(附琴谱)