Java连接oracle数据库,对读取数据进行操作(
1 直接输出读取的数据;
2 取出数据库表中的某一列存到数组里面;
3 取出数据库表里面的全部列,一行作为一个数据元素存到数据库里面 这里是类似与结构体)
文章目录
一、连接数据库(写到main函数里面的)
连接数据库也可以单独写一个函数,在main 里面调用。
public class Testedges {
public static void main(String[] args) {
try {
//1、加载驱动 从左侧的lib文件夹中获得
Class.forName("oracle.jdbc.OracleDriver");
//2、建立与数据库连接 需要
// 主机地址 连接本机 localhost 或者127.0.0.1
// 端口号 Oracle 数据库默认端口号 1521
// 实例名 安装全的是orcl,没有安装全的是XE
String url = "jdbc:oracle:thin:@localhost:1521:orcl"; // jdbc:oracle:thin: @主机地址 : 端口号 : 实例名一般是不用改的
// 下面的user和password是在sqlplus上可以登录的账户和密码一般需要修改
String user = "SCOTT";
String password = "Scottscott1";
Connection conn = DriverManager.getConnection(url, user, password);
//执行sql是自动提交 可以通过conn.setAutoCommit(false);设置手动提交,即提交conn.commit(); 回退conn.rollback();
if (!conn.isClosed()) {
System.out.println(conn);
} else {
System.out.println("Sorry,failed connecting to the Database");
}
Statement statement = conn.createStatement();
//4、执行SQL语句
conn.setAutoCommit(false);// 更改jdbc事务的默认提交方式
String sql = "SELECT * FROM EDGELL";//查询语句
ResultSet resultSet = statement.executeQuery(sql);//得到结果集,之后对数据的操作是在这个结果集的基础上进行的。
conn.commit();//事务提交
conn.setAutoCommit(true);// 更改jdbc事务的默认提交方式
//之后就可以编写对数据处理的程序了,
//可以在main函数外面写方法main里面调用方法。(因为调用函数之后会得到一个数组,想在main里面继续用这个数组显示有问题)
//本文是写在main函数里面
//6、释放资源
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
二、数据处理
1.直接读取数据库表格并将结果集输出
/***
* 怎么把数据读出并且存入数组
* 1 直接读出数据并输出
* 2 只读一列存入数组,并且输出数组
* 3 读取多列,一行的集合是一个数组元素,一行相当于一个结构体,存入自定义类型的结构体数组
*/
while(resultSet.next()){
String start=resultSet.getString(2);
String end = resultSet.getString(3);
Integer weight = resultSet.getInt(4);
System.out.println(start+" "+end+" "+weight);
}
2.将数据库表格的某一列存入数组
resultSet= statement.executeQuery(sql);
List startlist = new ArrayList();//结果集保存到数列list里面,读取数列长度就可以知道之后的数组应该多大
while (resultSet.next()){
startlist.