Statement有三个常用的执行SQL语句的方法,executeQuery(sql)、execute(sql)和executeUpdate(sql)。...预处理语句常用的方法 方法名称 功能描述 executeQuery() 略 executeUpdate() 略 setInt(int parameterIndex, int x) 设置整型参数 setArray...常用方法总结 方法名称 功能描述 absolute(int row) 将光标移动到此 ResultSet 对象中的给定行号 last() 将光标移动到此 ResultSet 对象的最后一行 previous...() 将光标移动到此 ResultSet 对象中的上一行 afterLast() 将光标移动到此 ResultSet 对象的末尾,紧接在最后一行之后。...如果结果集不包含任何行,则此方法不起作用. beforeFirst() 将光标移动到此 ResultSet 对象的前面,紧挨着第一行的前面。如果结果集不包含任何行,则此方法不起作用。
int executeUpdate(String sql) 执行给定的SQL语句,该语句可以是INSERT,UPDATE或DELETE语句,也可以是不返回任何内容的SQL语句,例如SQL DDL语句 ResultSet...,则返回false executeUpdate():执行insert、update、delete等不返回任何内容的非查询语句。...在此PreparedStatement对象中执行SQL语句,可以是任何类型的SQL语句 ResultSet executeQuery() 在此PreparedStatement对象中执行SQL查询,并返回查询生成的...DELETE; 或不返回任何内容的SQL语句,例如DDL语句 5、ResultSet接口 ——存放查询之后返回的结果 表示数据库结果集的数据表,通常通过执行查询数据库的语句来生成...为实现最大的可移植性,应按从左到右的顺序读取每一行中的结果集列,并且每一列只能读取一次。 getter方法用列名检索时传入的列名称不区分大小写。 当多个列具有相同的名称时,将返回第一个匹配列的值。
语句,其实这个方法也可以执行create table、alter table,以及drop table等语句,但我们很少会使用JDBC来执行这些语句; ResultSet executeQuery(String...boolean execute();//该方法了解即可 可以执行executeUpdate()和executeQuery()两个方法能执行的sql语句 Statement还有一个boolean execute...该方法返回的是boolean类型,表示SQL语句是否有结果集!。...():把光标放到最后一行的后面; boolean first():把光标放到第一行的位置上,返回值表示调控光标是否成功; boolean last():把光标放到最后一行的位置上; boolean isBeforeFirst...,当row为正数时,表示向下移动row行,为负数时表示向上移动row行; boolean absolute(int row):绝对位移,把光标移动到指定的行上; int getRow():返回当前光标所有行
(sql); 其中int类型的返回值表示执行这条SQL语句所影响的行数,我们知道,对insert来说,最后只能影响一行,而update和delete可能会影响0~n行。...JDBC来执行这些语句; ResultSet executeQuery(String sql):执行查询操作,执行查询操作会返回ResultSet,即结果集。...该方法返回的是boolean类型,表示SQL语句是否执行成功。...,当row为正数时,表示向下移动row行,为负数时表示向上移动row行; boolean absolute(int row):绝对位移,把光标移动到指定的行上; int getRow():返回当前光标所有行...中写的SQL语句合成一个完整的SQL语句!
它的常用方法如下: ♞ ResultSet executeQuery(String sql):该方法用于执行查询语句,并返回查询结果对应的 ResultSet 对象。...♞ boolean execute(String sql):该方法可执行任何 SQL 语句。...如果执行后第一个结果为 ResultSet 对象,则返回 true;如果执行后第一个结果为受影响的行数或没有任何结果,则返回 false。 ...♞ boolean absolute(int row):将结果集的记录指针移动到第 row 行,如果 row 是负数,则移动到倒数第 row 行。...执行的 SQL 语句是增、删、改语句,则执行结果返回的是受影响的行数。行的 SQL 语句是权限操作语句,则执行结果返回的是 0。
conn, string sql,params MySqlParameter[] parameters)//引用已经建立的连接,执行sql语句,返回一行一列的值 {...,执行sql语句,返回一行一列的值 { using (MySqlConnection conn = CreateConnection())...{+++}(string sql,params MySqlParameter[] parameters)//引用方法内自己建立的连接,执行sql语句,返回多行多列的值到一个DataTable中...Insert语句和select LAST_INSERT_ID()一定要在要在同一个连接中。...()在同一个连接中单独执行,也可以把LAST_INSERT_ID()放到insert语句后面用;分割(使用ExecuteScalar执行即可) 17 18 1 19 2 20 ulong id = (
序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。...from dual; --nextVal:增加sequence的值,然后返回 增加后sequence值 在Sql语句中可以使用sequence的地方: 不包含子查询、snapshot、VIEW...的 SELECT 语句 INSERT语句的子查询中 INSERT语句的values中 UPDATE 的 SET中 如在插入语句中 insert into 表名(id,name)values...一次NEXTVAL会增加一次 SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。...,相对应的有 :old 原值 := 代表 赋值 :nextid表示引用sqlplus中定义的变量 参考文章 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn
3.boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。...1>方法executeQuery 用于产生单个结果集(ResultSet)的语句,例如:被执行最多的SELECT 语句。 ...INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。 executeUpdate 的返回值是一个整数(int),指示受影响的行数(即更新计数)。...对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。...,返回受影响的记录条数 3>方法execute: 可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。
void close():释放连接对象的数据库和JDBC资源。 Statement类 Statement类是java.sql包中用于在指定的连接中处理SQL语句的类。...SQLException e){} ResultSet类 有了SQL语句对象后,调用语句对象的方法executeQuery()执行SQL查询,并将查询结果存放在一个用ResultSet类声明的对象中...,例如,以下代码读取学生成绩表存于rs 对象中: ResultSet rs = sql.executeQuery(“SELECT * FROM ksInfo”); ResultSet对象实际上是一个由查询结果数据的表...在ResultSet对象中隐含着一个游标,一次只能获得游标当前所指的数据行,用next方法可取下一个数据行。...boolean absolute(int row):将游标移到row行。
JDBC ResultSet接口的目的是什么? ResultSet对象代表表的一行。它可用于更改光标指针并从数据库中获取信息。 7.什么是JDBC ResultSetMetaData接口?...DatabaseMetaData接口返回数据库的信息,例如用户名,驱动程序名称,驱动程序版本,表数,视图数等。 9. JDBC中的批处理是什么意思?...语句execute(String query)\用于执行任何SQL查询,如果结果为ResultSet(例如运行Select查询),则返回TRUE。...语句executeQuery(String query)\用于执行Select查询并返回ResultSet。即使没有与查询匹配的记录,返回的ResultSet也永远不会为null。...语句executeUpdate(String query)用于执行不返回任何内容的插入/更新/删除(DML)语句或DDL语句。输出为int,等于SQL数据操作语言(DML)语句的行数。
sql语句和批量语句,则需要整理),然后传递sql请求,之后会得到返回的结果。...) 执行给定的 SQL 语句,该语句可能返回多个结果。...语句如 update,delete,insert语句,此方法会返回false,自己调用statement.getUpdateCount() 返回sql语句影响的行数。...对查询类型的sql语句的执行方法 statement提供了executeQuery(String sql)方法支持此形式,定义如下: ResultSet executeQuery(String...) 执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
参数的 SQL 语句 * @param cmdParams SQL 语句的参数表 * @return 如果获取失败将返回 null,调用时记得检查返回值 */ public...null, ex); i = -1; } close(pstmt); return i; } /** * 返回结果集的第一行的一列的值...Object obj = buildScalar(rs); closeConnection(rs); return obj; } /** * 返回结果集的第一行的一列的值... Object obj = buildScalar(rs); closeEx(rs); return obj; } /** * 返回结果集的第一行的一列的值...Object obj = buildScalar(rs); closeConnection(rs); return obj; } /** * 返回结果集的第一行的一列的值
INSERT、UPDATE 或DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。...对于 CREATE TABLE 或DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。...下面给出通过Statement类中的executeQuery()方法来实现的代码段。executeQuery()方法的输入参数是一个标准的SQL查询语句,其返回值是一个ResultSet类的对象。...但对ResultSet类的对象方式依赖于光标(Cursor)的类型,而对每一行中的各个列,可以按任何顺序进行处理(当然,如果按从左到右的顺序对各列进行处理可以获得较高的执行效率); ResultSet类中的...类的next()方法可以移动到下一行(在JDBC中,Java程序一次只能看到一行数据),如果next()的返回值为false,则说明已到记录集的尾部。
Configurable:实现了Configurable的任何类都含有一个context,使用context获取配置信息。 4. 代码实现 1....id(0) currentIndex 查询语句当前id,每次查询之前需要查元数据表 recordSixe 查询返回条数 table 监控的表名 columnsToSelect 查询字段(*) customQuery...) buildQuery() 根据实际情况构建sql语句,返回值String executeQuery() 执行sql语句的查询操作,返回值List getAllRows(List中的offset queryOne(String sql) 获取元数据表中的offset实际sql语句执行方法 close(...,返回最初传入的值 return startFrom; } //查询一条数据的执行语句(当前id) private String queryOne(String
JDBC ResultSet接口的目的是什么? ResultSet对象代表表的一行。它可用于更改光标指针并从数据库中获取信息。 7.什么是JDBC ResultSetMetaData接口?...DatabaseMetaData接口返回数据库的信息,例如用户名,驱动程序名称,驱动程序版本,表数,视图数等。 9. JDBC中的批处理是什么意思?...语句execute(String query)用于执行任何SQL查询,如果结果为ResultSet(例如运行Select查询),则返回TRUE。...语句executeQuery(String query)用于执行Select查询并返回ResultSet。即使没有与查询匹配的记录,返回的ResultSet也永远不会为null。...语句executeUpdate(String query)用于执行不返回任何内容的插入/更新/删除(DML)语句或DDL语句。输出为int,等于SQL数据操作语言(DML)语句的行数。
基本知识点: InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,而MyISAM支持的是表级锁。...对MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;对MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作;MyISAM表的读操作与写操作之间,以及写操作之间是串行的...但是读操作不会阻塞其他用户对同一个表的读请求因此执行另一条select后会立刻返回执行结果: ?...读操作会阻塞对同一表的写请求,而写操作会阻塞其他用户对同一表的读和写操作,因此在这里后续的update和select语句都因为id=8的那个process而一直处于等待状态,无法返回结果。...我们kill掉那条被注入的sql执行进程,锁立刻释放,后续的sql立刻返回结果。 ?
同计算机硬件的驱动程序类似,JDBC的驱动实现了”做什么“和”怎么做“的分离。与使用SQLPlus访问数据库类似,在操作数据库之前,需要先跟数据库建立连接。...操作数据基本的含义是执行SQL语句,包括DML,DDL,DCL均可,还可以调用数据库中已有的存储过程。...Statement对象用于向数据库发送SQL语句, Statement对象常用方法: executeQuery(String sql) :用于向数据发送查询语句。...previous():移动到前一行 absolute(int row):移动到指定行 beforeFirst():移动resultSet的最前面 afterLast() :移动到resultSet...,ResultSet.CONCUR_UPDATABLE); next():移动到下一行 previous():移动到前一行 absolute(int row):移动到指定行 beforeFirst():
并返回执行的结果 对于DQL返回查询的结果集 对于DML返回受影响的行数 对于DDL返回0 executeUpate(String) 执行DML和DDL语句 String sql="create...在执行查询语句时就会得到一个这样的结果 常用方法: boolean next():判断是否有下一行数据,若有,则向下移动一行指针....(从1开始):不推荐 getXxx(String columnName):获取当前行中的,指定列名的列的值.columnName是列名/列的别名 若列的类型是VARCHAR/CHAR/TEXT,都使用...使用 1.导包 2.编写代码 Dao代码重构 存在的问题 在DAO当中执行的保存方法,更新方法,删除这些DML操作有太多重复代码 重构代码原则 同一个类中 在一个类当中有多个方法当中有太多相同的代码...大家同时共享该类中的内容 抽取DML方法 1.设计一个方法 2.要求传入两个参数 一个sql语句 一个参数:第一个参数sql语句模板 第二个参数为可变参数,设置语句参数值 3.返回值 返回值为
对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。...,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句) int executeUpdate(String sql, int...能够执行的SQL类型比较多,可以执行INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。...自动关闭 可以指定语句所有依赖的结果集都被关闭时,关闭这个Statement,1.7新增 如果语句的执行不产生任何结果集,则此方法无效。...PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句 ResultSet executeQuery() 在此
/orcl 如果监听运行在默认的1521端口,可以不写端口:如下: sqlplus bys/bys@192.168.1.211/bys3 如果不想在命令中输入密码,可以使用:或者为用监听名时:...交互式 4.将当前SQL缓冲构内SQL语句保存到指定文件 save d:\test2.sql 将文件中SQL语句调入SQLPLUS缓冲区 get d:\test2.sql 显示缓冲区内语句...关键字不能缩写,也不能跨行书写,单引号内也不跨行写。 每个子句是一行。 字符串用单引,列别名用双引。 标点符号要用英文标点,中文出错。...),鼠标左键按住不动,用右手中指按鼠标右键 5] 这时,所选内容会自动复制到SQL*Plus环境的最后一行 五、使用USERENV函数查询会话信息 USERENV(OPTION) 返回当前的会话信息...OPTION=‘terminal’返回当前计算机名 使用示例: SELECT USERENV(‘LANGUAGE’) FROM DUAL; 六、SQLPLUS中插入特殊字符 方法1:设置define