上两篇我们讲述了 Statement 和 PreparedStatement 这两个操作数据库的重要接口,这一篇我们开始使用 PreparedStatement 去查询数据库中的数据
一、executeQuery 和 ResultSet 的引入
我们先来介绍这一篇博客的重点
1. executeQuery
这个 executeQuery 是用来将我们的查询SQL语句所查到的结果集进行处理并且返回的。
2. ResultSet
这个就是结果集所封装的一个集合,我们所查询到的数据就都在这个里面,我们到时候去遍历这个集合即可拿到数据。
二、实际操作
简单介绍之后,我们来实际操作一下,先弄一个新的类,SelectQueryExecuteQuery,这里呢,我们就查询 t_log 表中的数据
然后我们使用 pstate 去调用 executeQuery 方法,将我们的值查询出来
这里获取到 ResultSet 之后,我们进行判断,ResultSet 中有一个 next 方法,如果下一个还有数据,就返回 true,如果没有,就是 false。我们使用 while 循环
获取值的话有两种方式
一个是通过列所在的位置,也就是传一个 columnIndex,好比我们这个 t_log 表
getInt(1) 就是获取到 id
getString(2) 就是获取到 content
getDate(3) 就是获取到 createDt
这里要说一下,要获取也得要使用对的属性进行获取,不能说返回一个字符串,你去使用 getInt 去获取,这样是会报错的
我们来试一下
是OK的啊,因为数据比较多,我删了一部分,但是不碍事。
除去这样去获取,我们还可以使用字段名去获取,再来看一下
也是OK的啊
这里我要说一下,我们以后使用第二种方法去获取值,因为数据库表中的字段名字我们是很少去更换的,但是这个顺序,我们可能调整,如果一旦调整,我们这个就会报错,这里大家要记得一下
虽然这个将所有的值都带回来了,但是我们可以看到,这个日期是不对的,只有年月日,我们明明存的时候是有时分秒的,这里我们简单修改一下就可以了,我们不适用 getDate 去获取日期,我们改成 getString 去获取,再来看一下
这样就OK了
大家下去练习一下,有问题加我 QQ : 2100363119