当前位置: 移动技术网 > IT编程>数据库>其他数据库 > JDBC中resutset接口操作实例详解

JDBC中resutset接口操作实例详解

2017年12月01日  | 移动技术网IT编程  | 我要评论
本文主要向大家展示jdbc接口中resutset接口的用法实例,下面我们看看具体内容。 1. resultset细节1 功能:封锁结果集数据 操作:如何获得(

本文主要向大家展示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数据库操作示例等,在此也希望大家对移动技术网网站多多支持!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网