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的主要内容,如果未能解决你的问题,请参考以下文章

面试常用的代码片段

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

JDBC操作数据库之查询数据

如何在片段中填充列表视图?

在 myeclipse中进行连接sql server的测试

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段