JDBC中resutset接口操作实例详解
发布时间:2020-12-12 07:23:17 所属栏目:MsSql教程 来源:网络整理
导读:本文主要向大家展示JDBC接口中resutset接口的用法实例,下面我们看看具体内容。 1. ResultSet细节1 功能:封锁结果集数据 操作:如何获得(取出)结果 package com.sjx.a;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet
本文主要向大家展示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","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","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数据库操作示例等,在此也希望大家对编程小技巧网站多多支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |