JDBC

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();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值