package com.ResultSet;
import javax.crypto.spec.OAEPParameterSpec;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
public class demo1 {
public static void main(String[] args)throws Exception {
String url = "jdbc:mysql:///db";
String name = "root";
String passwd = "123";
Connection conn = DriverManager.getConnection(url,name, passwd);
//DQL查询语句
//ResultSet其实就是执行对象执行executeQuery(sql)的结果 , 返回的是ResultSet类型的值(查询)
//默认有个游标指向第一行(头行)
//next() 1.将光标从当前位置向下移动一行 (2)判断当前行是否为有效行
//getXxx(参数) 获取数据 (xxx)为数据类型
//参数有两种形式
//int:列的编号(从1开始) string(列的名称)
String sql = "select *from account";
Statement execute = conn.createStatement();
ResultSet rs = execute.executeQuery(sql);
//处理结果,遍历rs所有数据
//光标向西移动一行,并且判断该当前是否有数据
ArrayList<data_object> array = new ArrayList<>();
while(rs.next()){
//获取数据
//单个获取
int id =rs.getInt("id");
String names = rs.getString("name");
double money = rs.getDouble("money");
// int id =rs.getInt(1);
// String names = rs.getString(2);
// double money = rs.getDouble(3);
//封装获取 (自己根据情况定义一个对象,对象来获取每一行的值,再设定一个集合来储存对象,最后通过集合读出)
data_object sign = new data_object(id,names,money);
array.add(sign);
System.out.println(id);
System.out.println(names);
System.out.println(money);
System.out.println("-----------------");
}
rs.close();
execute.close();
conn.close();
for (int i = 0; i < array.size(); i++) {
System.out.println(array.get(i).toString());
}
}
}
java连接数据库ResultSet类(用于查询返回值)
不会,就是不会!2023-10-04 11:55
相关推荐
lsc_blog3 小时前
年终自评别贴提交记录,把技术产出讲成变化2601_962106648 小时前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码RuoyiOffice9 小时前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致2601_962106649 小时前
HashMap入门|工号-姓名键值存储、两种遍历方式、根据key/value查杨凯凡10 小时前
Spring Framework 7 API 版本管理实战:请求头路由、兼容迁移与废弃策略T_Wizard10 小时前
同一个问题写了 4 遍:官方 SDK / HTTP / Spring AI / LangChain4j,到底该选哪个hai_android10 小时前
AudioTrack 深度解析:从原理到实战斯维赤10 小时前
限流、熔断、降级,你真的分得清吗?Zan11 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?这个DBA有点耶12 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径