package jdbc;
public class Emp {
private int empno;
private String ename;
private String job;
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* JDBC:(Java DataBase Connectivity) Java 数据库连接
* 主要提供编写 Java 数据库应用程序的 API 支持。
* 三层结构(1.表现层 2.业务层 3.持久层)中:JDBC它是持久层的技术
* 功能:
* 1.创建和管理与数据源的连接
* 2.发送SQL命令至数据源
* 3.提取并处理由数据源返回至应用程序的结果集
* 核心接口组成:
* 1.(类) DriverManager:驱动管理器
* 2.(接口) Connection:连接
* 3.(接口) Statement:用来执行SQL语句
* 4.(接口) ResultSet:结果集
* 以后我们需要的所有的类库:http://mvnrepository.com/-----------Maven仓库
* 注意:JDBC不是面向对象编程,它是面向关系型数据库来编程的,从结果集中获取的数据,我们需要自己创建对象将他们保存起来。
*/
public class JDBC {
public static void main(String[] args) {
//使用JDBC操作数据库需要以下步骤:
try {
//1.加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.获取连接Connection localhost == 127.0.0.1本地
Connection connection = DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:ORCL","scott","tiger");
//3.获取Statement用于执行SQL语句
Statement statement = connection.createStatement();
//4.会将查询到的结果保存到ResultSet结果集中
ResultSet rSet = statement.executeQuery("select * from emp");//execute
//5.对结果集进行遍历(每遍历一次就要将结果集中的数据以对象的形式保存起来)数据库中的一条记录就是一个对象
List<Emp> list = new ArrayList<>();
while(rSet.next()){
Emp emp = new Emp();
//要获取当前行的第1列 ...第n列
emp.setEmpno(rSet.getInt("empno"));
emp.setEname(rSet.getString("ename"));
emp.setJob(rSet.getString("job"));
list.add(emp);
}
Iterator<Emp> it = list.iterator();
while (it.hasNext()) {
Emp emp = it.next();
System.out.println(emp.getEmpno()+"----"+emp.getEname()+"----"+emp.getJob());
}
//6.释放资源
rSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}