import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* @author zzw
* @create 2020/11/07-9:43
*/
public class jdbcTest05 {
public static void main(String[] args) {
//获取连接
Connection conn=null;
//数据库操作对象
Statement stmt=null;
//将查询结果集封装到下面那个去 关闭的时候从下往上关
ResultSet rs=null;
try {
//1注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2获取连接
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc","root","a");
//3获取数据库操作对象
stmt=conn.createStatement();
//4执行sql
String sql="select 语文,数学,英语 from jdbc01";
//executeQuery这个方法是专门用来处理查询语句的,专门执行DQL语句的方法,不同的语句要用不同的Statement类方法
//int executeUpdate(insert/delete/update) 增删改返回数量
//ResultSet executeQuery(select) 查询语句返回结果集
rs=stmt.executeQuery(sql);
//5处理查询结果集
/*
boolean flag1=rs.next();//此时光标指向第一行,true
if(flag1){
//光标指向的行有数据
//取数据
//getString()方法的特点是:不管数据库中的数据类型是什么,都以string类型取出来
//1,2,3指的是第几列
String yw= rs.getString(1);//jdbc中所有下标从1开始,不是从0开始
String sx= rs.getString(2);
String yy= rs.getString(3);
System.out.println(yw+","+sx+","+yy);
//这样就得到了第一行的数据
}
//要想得到下一行的数据,我们就智能接着写
flag1=rs.next();
if(flag1){
//光标指向的行有数据
//取数据
//getString()方法的特点是:不管数据库中的数据类型是什么,都以string类型取出来
String yw= rs.getString(1);
String sx= rs.getString(2);
String yy= rs.getString(3);
System.out.println(yw+","+sx+","+yy);
//这样就得到了第二行的数据
}
*/
//实际高速版 rs.next()返回的本来就是boolean类型的
while (rs.next()){
/*
String yw= rs.getString(1);
String sx= rs.getString(2);
String yy= rs.getString(3);
System.out.println(yw+","+sx+","+yy);
*/
//实际中,更多的是使用列名,因为怕被调换了顺序,如果是别名则需要使用别名
String yw= rs.getString("语文");
String sx= rs.getString("数学");
String yy= rs.getString("英语");
System.out.println(yw+","+sx+","+yy);
/*
我们也可以直接以其他的数据形式取出来,该区其对应的get方法,直接为int等的好处是可以直接在这里进行数学运算
int yw= rs.getInt("语文");
double sx= rs.getDouble("数学");
String yy= rs.getString("英语");
System.out.println(yw+","+(sx+100)+","+yy);
*/
}
}catch (Exception e){
e.printStackTrace();
}finally {
//6释放资源
if(rs!=null){
try {
rs.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(stmt!=null){
try {
stmt.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
}
}
JDBC学习----处理查询结果集
最新推荐文章于 2024-10-27 15:49:02 发布