(7) JDBC的ResutSet对象

来源:互联网 发布:alias是什么软件 编辑:程序博客网 时间:2024/05/22 11:48

一 ResultSet说明

通常情况下,执行SQL查询语句返回一个ResultSet对象,我们可以使用这个对象,

将查询结果集呈现给用户。

ResultSet是一个接口,继承于Wrapper,AutoCloseable接口。

该对象包含查询语句返回的一个表,表中存放了查询语句返回的结果。

每一个ResultSet对象均包含一个指针,指向当前数据列表。

指针的初始位置在第一行数据之前的位置,当调用next方法时,

指针指向下一个位置,如果next方法返回值为true,表示指针指向行数据

结果集不为空,否则,为空,跳出loop循环,返回false,表示已经没有可读记录。

我们要获取ResultSet中的数据,可以通过ResultSet提供的各种get方法获取值。

二 实例

1. 创建t_user_main表

CREATE TABLE `t_user_main` (    `oid` varchar(32) NOT NULL COMMENT '主键',    `userName` varchar(255) DEFAULT NULL COMMENT '用户名',    `userPwd` varchar(255) DEFAULT NULL COMMENT '登陆密码',    PRIMARY KEY (`oid`)  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 插入数据

INSERT INTO t_user_main (oid,userName,userPwd)   VALUES ('1','one','111111'),('2','two','222222'); 

3. java代码示例

package com.lanhuigu.JavaBase.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JDBCStatementTest {public static void main(String[] args) {String user = "root";        String password = "lanhuigu";        /*         * useUnicode=true:表示使用Unicode字符集          * characterEncoding=UTF8:字符编码方式          * allowMultiQueries=true:是否允许批量处理          */        String url = "jdbc:mysql://127.0.0.1:3306/lanhuigu_web?useUnicode=true"        + "&characterEncoding=UTF8&allowMultiQueries=true";        String driver = "com.mysql.jdbc.Driver";                 try {            //1.加载驱动程序            Class.forName(driver);            //2.建立连接            Connection conn = DriverManager.getConnection(url, user, password);            //3.创建Statement对象            Statement st = conn.createStatement();            st.setMaxRows(10);// 设置最大返回行数,这里设置10条            String sql = " SELECT oid, userName, userPwd FROM t_user_main ";            //4.查询--返回查询结果            ResultSet rs = st.executeQuery(sql);            //5.打印查询结果            while (rs.next()) {System.out.println("oid:"+rs.getString("oid") + ", userName:" + rs.getString("userName") + ", userPwd:" + rs.getString("userPwd"));}            // 测试executeUpdate//            int resultCount = //            st.executeUpdate(" UPDATE t_user_main SET userPwd = 'testExecuteUpdate' "//            + "WHERE oid = '1' ");// 从数据库查询,验证是否成功//            System.out.println("executeUpdateResult:" + resultCount);            //6.关闭连接            st.close();// 关闭Statement对象            conn.close();// 关闭数据库连接        } catch (Exception e) {            System.out.println("数据库连接失败");        }}}
结果:
oid:1, userName:one, userPwd:111111
oid:2, userName:two, userPwd:222222





原创粉丝点击