jdbc java数据库的连接 (oracle数据库)

jdbc是Java数据库连接的意思(Java Data Base Connectivity

属于tcp(点对点类型的连接)一共分为5步

1、加载驱动

通过放射的方式 不需要返回值 只是加载一下 

2、通过驱动管理器获取连接

url是数据库的专有路径写法

jdbc:oracle:thin:@127.0.0.1(ip地址):1521:orcl

3、通过;连接获取一个声明

还需要一条 sql语句 String类型的

4、执行sql

执行后返回一个int型数或者一个 数据集表示执行了几条数据 或是一个得到的数据集 需要查看的

5、关闭流

例:

package com.sxt;
/**
 * jdbc连接数据库  分为5 步
 * 这是其中的 插入 用executeupdate
 * 插入 删除 更新 一样
 * 
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JdbcDemo {
	public static void main(String[] args) throws Exception {
		// 1 通过反射加载驱动  寻找class地址   oracle.jdbc.driver   OrcaleDriver.class  地址
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// 2 通过驱动管理器获取连接   地址可提取出去
		Connection cc = DriverManager.getConnection(
				"jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
		// 或取得连接是有内存地址的 可以打出来看看
		// System.out.println(cc);
		// 3 通过连接获取一个声明
		Statement cs = cc.createStatement();
		// 插入的格式 一个字符串
		String s = "insert into emp values(111,'jdbc','连接',7777,sysdate,666,null,10)";
		// 4 通过 声明出来的对象调用 插入的语句 会返回一个 执行了多少次的 int型数据
		int i = cs.executeUpdate(s);
		System.out.println(i);
		// 5 关流
		cs.close();
		cc.close();
	}
}


  查看的话与他们有些略微差别执行sql语句后返回的是以数据集 需要利用迭代器的方式 遍历输出

package com.sxt;

/**
 * jdbc连接数据库  查询  
 * 使用executequery
 * 查询与  增删改不一样   它返回的是一个集合  需要 遍历 出来
 * 但是 遍历出来需要一个值一个值得拿 
 * 
 */
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcDemo2 {
	public static void main(String[] args) throws Exception {
		// 1 加载驱动
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// 2 通过驱动管理器获取连接
		Connection cc = DriverManager.getConnection(
				"jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
		// 3 通过连接 获取一个声明
		Statement cs = cc.createStatement();
		String s = "select * from emp";
		// 执行 sql语句 返回一个 查询的集合
		ResultSet ss = cs.executeQuery(s);
		// 遍历这个集合的方式 需要一个一个的取 返回的集合遍历也是一个流 最后需要关闭流
		while (ss.next()) {
			int empno = ss.getInt("empno");
			String ename = ss.getString("ename");
			String job = ss.getString("job");
			int mgr = ss.getInt("mgr");
			Date hiredate = ss.getDate("hiredate");
			double sal = ss.getDouble("sal");
			double comm = ss.getDouble("comm");
			int deptno = ss.getInt("deptno");
			System.out.println(empno + "\t" + ename + "\t\t" + job + "\t\t"
					+ mgr + "\t\t" + hiredate + "\t\t" + sal + "\t\t" + comm
					+ "\t\t" + deptno + "\t");
		}

		// 关流
		ss.close();
		cs.close();
		cc.close();

	}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值