JDBC
Posted 小凳子的学习天地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。
补充:
1.执行非查询语句(使用Statement接口):
- public boolean execute(String sql):执行可能有多个结果集的SQL语句,sql为任何SQL语句。如果语句执行的第一个结果为ResultSet对象,该方法返回true,否则返回false。
- public int[] executeBatch():用于一个操作中发送多条SQL语句。
2.ResultSet接口:
ResultSet对象表示select语句查询得到的记录集合,结果集一般是一个记录表,其中包含多个记录行和标题,记录行从1开始,一个Statement对象一个时刻只能打开一个ResultSet对象。
对新产生的ResultSet对象,游标指向第一行的前面,可以调用ResultSet的next(),使游标定位到下一条记录。next()的格式如下:
public boolean next() throws SQLException
将游标从当前位置向下移动一行。第一次调用next()将使得第一行成为当前行,以后调用游标依次向后移动。如果该方法返回true,说明新行是有效的行,若返回false,说明已无记录了。
检索字段值:getXXX()获取列值,如果参数是索引值的话,从1开始的。参数可以是String类型(字段名),也可以是int类型(字段索引)。
public Date getDate();//返回指定列的Date对象值 public Object getObject();//返回指定列的Object对象值 public Blob getBlob();//返回指定列的Blob对象值 public Clob getClob();//返回指定列的Clob对象值
实际上调用getXXX()方法就是把SQL数据类型转换为Java语言数据类型。
3.预处理语句(使用PreparedStatement对象)
占位符序号从1开始。
处理复杂数据设置占位符:
例如,如果想表中插入日期或时间数据,数据库对日期格式有一定的格式规定,如果不符合格式的要求,数据库就不允许插入。使用PreparedStatement对象可以对插入到数据库的数据进行处理。对于日期、时间和时间戳的数据,只要简单的创建响应的java.sql.Date或java.sql.Time对象,然后把它传给PreparedStatement对象的setDate()或setTime()即可。
假设,getSqlDate()返回给日期的Date对象,使用下面的语句可是设置日期参数:
Date d = getSqlDate("2020-04-22");
pstmt.setDate(d);
以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章