Oracle11g_JDBC入门级示例

本文提供了使用 Oracle 11g 的 JDBC 连接数据库的示例代码,详细介绍了配置 Oracle JDBC 驱动的位置、连接端口号及数据库名的方法,并概述了通过 Java 进行数据库操作的基本流程。



配置上的小问题:

1.Oracle11g的JDBC驱动位置:X:\Oracle\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar

2.Oracle连接端口号:在配置工具里选择:Net Manager,程序中选择“本地”=》监听程序=》LISTENER=》端口

3.Oracle数据库名:上述工具里的“服务器名”




import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;


public class JDBCDemo2_perpared {

	private static final String DBDriver = "oracle.jdbc.driver.OracleDriver";//驱动  
	private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:ORCL";//URL命名规则:jdbc:oracle:thin:@IP地址:端口号:数据库实例名
	
	private static final String DBUser = "scott";
	private static final String DBPassWord = "890307";
	
	
	public static void main(String[] args) throws Exception{
		
		Connection con = null;
		Statement st = null;
		ResultSet res = null;
		try {
			//一:连接
			Class.forName(DBDriver);//加载数据库驱动  
			con = DriverManager.getConnection(DBURL, DBUser, DBPassWord);//连接  
			System.out.println("已连接 "+con);
			st = con.createStatement();//创建声明
			
			//二:更新操作
			//更新操作  1.INSERT INTO  ,  2.UPDATE SET  ,  3.DELETE FROM
			//st.executeUpdate("INSERT INTO person(pid,name,age,birthday,sex) VALUES(100,'张三',23,TO_DATE('1989-03-07','yyyy-mm-dd'),'男')");//每个子句结尾不能加分号("INSERT XXX -;-") 
			//st.executeUpdate("INSERT INTO person(pid,name,age,birthday,sex) VALUES(101,'李四',24,TO_DATE('1989-07-07','yyyy-mm-dd'),'男')");
			//st.executeUpdate("INSERT INTO person(pid,name,age,birthday,sex) VALUES(102,'王五',25,TO_DATE('1989-08-08','yyyy-mm-dd'),'男')");
			//st.executeUpdate("UPDATE person SET name='李四' WHERE pid=12345678901234567");//INSERT INTO ,UPDATE SET,DELETE FROM
			//st.executeUpdate("DELETE FROM person WHERE pid=100 ");
			System.out.println("已更新(增,改,删) ");
			
			//三:查询操作
			res = st.executeQuery("SELECT pid,name,age,birthday,sex FROM person ");
			while(res.next())
			{
				int p = res.getInt("pid");
				String n = res.getString("name");
				int a = res.getInt("age");
				Date b = res.getDate("birthday");
				String s = res.getString("sex");
				
				System.out.println(p+" "+n+" "+a+" "+b+" "+s);
				
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			//四:关闭连接		
			res.close();//依次关闭
			st.close();
			con.close();
		}
		
		
	}

}



补充个JDBC查询的6个步骤:
1,Registering a driver 注册驱动程序
2,Establishing a connection to the database 建立链接
3,Creating a statement 创建声明
4,Executing a SQL 执行SQL
5,Processing the results 处理结果
6,Closing down JDBCobjects 关闭对象









Oracle官方11g 最新版jdbc驱动。 新特性:   1、支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持,是使用ojdbc6.jar来支持。J2SE 5.0 和 JDBC 3.0 全面支持使用ojdbc5.jar。   2.不再支持oracle.jdbc.driver。从9.0.1开始的每个release都推荐使用oracle.jdbc。这一天终于到来,在11g中,引用oracle.jdbc.driver不再通过编译。   3.j2se 1.2,1.3,1.4不再支持。11R1不再包括这些版本的jar和zip,如果仍然使用这些版本,可以继续使用10gR2的jdbc。   4.11gR1 Thin driver支持AES加密算法,SHA1 hash算法,RADIUS, KERBEROS,SSL认证机制.   5.支持ANYDATE和ANYTYPE类型。这两种类型自9i引入,11R1前,程序员只能通过PL/SQL操作。   6.高级队列支持。11R1提供了访问AQ的高性能接口。   7.支持数据库变更通知。   8.Thin和OCI的数据库启动和关闭。11R1提供了这样的方法来启动和关闭数据库。   9.新的工厂方法。Oracle JDBC 11R1 oracle.jdbc.OracleConnection提供了创建Oracle对象的工厂方法。   包括ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,TIMESTAMP,TIMESTAMP等。   ojdbc5.jar: 适用于jdk5   ojdbc6.jar: 适用于jdk6   ***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样   ---------------------------------------------------   总体讲新版本的JDBC驱动 性能强、很多bug被发现并已解决。   我遇到的,之前使用ojdbc14.jar(不记得哪个版本了)批量插入10万条,实际只插入了3万多条,其它的丢失了,换ojdbc6.jar后,一次commit批量插入100万条也OK了。   尽量使用和数据库版本一致的驱动,有bug时,换高版本的JDBC驱动试试 。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值