JDBC中resutset接口操作实例详解

所属分类: 数据库 / 数据库其它 阅读数: 201
收藏 0 赞 0 分享

本文主要向大家展示JDBC接口中resutset接口的用法实例,下面我们看看具体内容。

1. ResultSet细节1

功能:封锁结果集数据

操作:如何获得(取出)结果

package com.sjx.a;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Test;
  //1. next方法,向下移动并判断是否有内容
  //2. getXXX方法,根据列索引或列名获得列的内容
public class Demo {
  @Test
  public void fun1() throws Exception{
    //1 注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //2 获得连接
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day05", "root", "1234");
    //3 创建Statement
    Statement st = conn.createStatement();
    //4 书写sql
    String sql = "select * from t_user" ;
    //5 执行sql
    ResultSet rs = st.executeQuery(sql);
    //向下移动一行,并判断
    while(rs.next()){
      //有数据
      //取数据:getXXX 
      int id = rs.getInt(1);//获得第一列的值
      //int id rs.getInt("id");// 获得id列的值
      String name = rs.getString(2);//获得第二列的值
      int age = rs.getInt(3);//获得第三列的值
      System.out.println(id+"==>"+name+"==>"+age);
      
      //rs.gettimestamp(columnIndex)
    }
    //6关闭资源
   st.close();
   conn.close();
  }
  /* 数据库类型      java类型
    int         int
    double       double
    decimal       double
    char       String
    varchar       String
    datetime     Date
    timestamp    Timestamp/Date
   */
}

2.ResultSet细节2

结果集的滚动-->移动结果集的指针就是滚动

结果集反向修改数据库

package com.sjx.a;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Test;
public class Demo2 {
  @Test
  public void fun1() throws Exception{
    //1 注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //2 获得连接
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day05", "root", "1234");
    //3 创建Statement
    Statement st = conn.createStatement();
    //4 书写sql
    String sql = "select * from t_user" ;
    //5 执行sql
    ResultSet rs = st.executeQuery(sql);
    //倒着遍历
      //1> 光标移动到最后一行之后
      rs.afterLast();
      //2> 遍历=>
      while(rs.previous()){//向上移动光标,并判断是否有数据
        int id = rs.getInt("id");// 获得id列的值
        String name = rs.getString("name");//获得第二列的值
        int age = rs.getInt("age");//获得第三列的值
        System.out.println(id+"==>"+name+"==>"+age);
      }
    //6关闭资源
   st.close();
   conn.close();
  }
  /* 数据库类型      java类型
    int         int
    double       double
    decimal       double
    char       String
    varchar       String
    datetime     Date
    timestamp    Timestamp/Date
   */
}

3.使用ResultSet修改记录

package com.sjx.a;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.junit.Test;
//ResultSet细节
// 2.结果集反向修改数据库
public class Demo3 {
  @Test
  public void fun1() throws Exception{
    //1 注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //2 获得连接
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day05", "root", "1234");
    //3 创建Statement
    Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    //4 书写sql
    String sql = "select * from t_user" ;
    //5 执行sql
    ResultSet rs = st.executeQuery(sql);
    //使用结果集 反向修改数据库
    rs.next();//将光标移动到第一行
    rs.updateString("name", "汤姆");// 修改第一行name列的值为中文汤姆
    rs.updateRow();// 确认修改
    //6关闭资源
   st.close();
   conn.close();
  }
}

以上就是本文关于JDBC中resutset接口操作实例详解的全部内容了,希望对大家有所帮助。有兴趣的朋友欢迎参阅更多有关JDBC的文章:BaseJDBC和CRUDDAO的写法实例代码Spring jdbc中数据库操作对象化模型的实例详解Java基于jdbc连接mysql数据库操作示例等,在此也希望大家对脚本之家网站多多支持!

更多精彩内容其他人还在看

Linux下mysql数据库的创建导入导出 及一些基本指令

这篇文章主要介绍了Linux数据库的创建 导入导出 以及一些基本指令,需要的朋友可以参考下
收藏 0 赞 0 分享

SQL知识点之列转行Unpivot函数

这篇文章主要给大家介绍了关于SQL知识点之列转行Unpivot函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

SQL基础教程之行转列Pivot函数

这篇文章主要给大家介绍了关于SQL基础教程之行转列Pivot函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

SQL WHERE IN参数化编译写法简单示例

这篇文章主要给大家介绍了关于SQL WHERE IN参数化编译写法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

通过一分钟快速了解索引技巧

这篇文章主要给大家介绍了如何通过一分钟快速了解索引技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用索引具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

postgresql 按小时分表(含触发器)的实现方式

这篇文章主要介绍了postgresql 按小时分表(含触发器)的实现方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解SQL中Group By的使用教程

这篇文章主要介绍了SQL中Group By的使用,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

使用alwayson后如何收缩数据库日志的方法详解

这篇文章主要介绍了使用alwayson后如何收缩数据库日志,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库(推荐)

这篇文章主要介绍了开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

如何在mac中修改环境变量path

这篇文章主要介绍了如何在mac中修改环境变量path,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多