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
System.out.println(array.get(i).toString())
}
}
}