首页 > 数据库 > 文库 > 正文

JDBC中resutset接口操作实例详解

2020-10-29 21:47:26
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表