好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

JDBC中resutset接口操作实例详解

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

1. ResultSet细节1

功能:封锁结果集数据

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

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

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

结果集反向修改数据库

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

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修改记录

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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数据库操作示例等,在此也希望大家对服务器之家网站多多支持!

原文链接:http://HdhCmsTestcnblogs测试数据/sjxbg/p/5815263.html

查看更多关于JDBC中resutset接口操作实例详解的详细内容...

  阅读:16次