ResultSet结果集

ResultSet详细

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();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值