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();
}
}
ResultSet详细的更多相关文章
- 黑马程序员:轻松精通Java学习路线连载1-基础篇!
编程语言Java,已经21岁了.从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的.Java应用的广泛已 ...
- Java学习路线-基础篇!
下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...
- ResultSet相关ResultSetMetaData详细
DatabaseMetaData 有关整个数据库的信息:表名.表的索引.数据库产品的名称和版本.数据库支持的操作. ResultSet 关于某个表的信息或一个查询的结果.您必须逐行访问数据行,但是您可 ...
- JDBC连接数据以及详细的ResultSet结果集解释
一.数据库连接 (前面为jdbc的其他参数,文章下部分为ResultSet详解) ResultSet rs = st.executeQuery(sqlStr) 1. java的sql框架支持多种数据库 ...
- Mybaits 源码解析 (八)----- 全网最详细,没有之一:结果集 ResultSet 自动映射成实体类对象(上篇)
上一篇文章我们已经将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集 ResultSet 自动映射成实体类对象.这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中.这可大 ...
- Java Servlet+Objective-c图上传 步骤详细
一. Servlet 1.创建图片保存的路径 在项目的WebContent下创建一个上传图片的专属文件夹. 这个文件夹创建后,我们保存的图片就在该文件夹的真实路径下,但是在项目中是无法看到上传的图片的 ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- 【java 获取数据库信息】获取MySQL或其他数据库的详细信息
1.首先是 通过数据库获取数据表的详细列信息 package com.sxd.mysqlInfo.test; import java.sql.Connection; import java.sql.D ...
- No ResultSet was produced
遇到的详细问题: 出现了No ResultSet was produced的异常,但数据是成功插入, 大致判断异常发生在执行插入操作后,检查代码. 解决方案: 通常在executeQuery(sql) ...
随机推荐
- 阿里云云虚拟主机安装Z-BlogPHP
简介 在阿里云买了一个云虚拟主机,叫共享虚拟主机普惠版,6 块钱一年.本着练习上手的目的,尝试在阿里云云虚拟主机上安装Z-BlogPHP,一个个人建站的CMS 系统. 云虚拟主机网页空间为200M,M ...
- 电视盒子好用又强大的跨屏远程输入法 TVRemoteIME
应用包下载地址: https://github.com/kingthy/TVRemoteIME/raw/master/released/IMEService-release.apk TVRemoteI ...
- 学习笔记-echarts x,y轴样式
//改变坐标轴文本的样式axisLabel:{ textStyle:{ color:'#fff' }},//改变坐标轴和文本的样式axisLine:{ lineStyle:{ color:'#fff' ...
- 学习笔记 - 用js判断页面是否加载完成实现代码
用document.onreadystatechange的方法来监听状态改变, 然后用document.readyState == "complete"判断是否加载完成 docum ...
- LibreOJ NOI Round #1 Day 1 B. 失控的未来交通工具
瞬间移动 官方题解 题意:一个带边权无向图,加边以及询问在 x,x+b,...,x+(c−1)bx,x+b,...,x+(c-1)bx,x+b,...,x+(c−1)b 这些数中,有多少存在一条与之模 ...
- c语言基础学习02
=============================================================================涉及到的知识点有:include有两种用法.{ ...
- LNMP环境的搭建
http://blog.csdn.net/wzy_1988/article/details/8438355#
- ios开发 第一天
alloc 分配内存(类方法) init 调用构造函数 id可以替代任何数据类型(不加*号) 错误现象: 2013-06-27 21:44:21.769 FieldButtonFun[3465:113 ...
- IntelliJ IDEA 2016.2.x 激活
注册码获取:http://idea.lanyus.com/
- 解决svn--Unable to connect to a repository at URL ‘https://xxxxxx’ 问题
在checkout项目时,出现如下错误: Error Unable to connect to a repository at URL 'https://XXXX' Error Access to ...