在java中链接oracle数据库通常有两种方式:一种是非常古老的方式:jdbc-odbc桥连接的方式,它只能本地访问数据库;另一种是jdbc链接方式,可以远程连接数据库。下面详细的介绍一下他们的链接方式:

1、jdbc-odbc的桥连接方式

            //1、加载驱动
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             
            //2、得到链接
            Connection ct=DriverManager.getConnection("jdbc:odbc:OracleSource", "scott", "liujiyu");
            //3、从下面开始和sql sever一样
            Statement sm=ct.createStatement();
            
            ResultSet rs=sm.executeQuery("select * from emp");
            
            
            while(rs.next())
            {
                //显示查询的内容
                System.out.println("用户名:"+rs.getString(2));
            }
            //关闭资源
            rs.close();
            sm.close();
            ct.close();

在这里需要注意的是jdbc-odbc桥连接方式的驱动是jdk自带的驱动,但是由于jdk1.8以上的版本为包含该驱动,因此在jdk1.8下采用jdbc-odbc桥连接方式会报错。而在低版本的jdk下可以运行。

2、jdbc链接方式

                       //使用jdbc方式连接数据库
			//1、加载驱动
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//2、得到链接
			Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "liujiyu");
			//localhost表示安装oracle 的ip地址,1521表示oracle 的端口号,ORCL表示的是数据库实例名
			//3、从下面开始和sql sever一样
			Statement sm=ct.createStatement();//创建sql语句的statement类的实例

			ResultSet rs=sm.executeQuery("select * from emp");//结构类似于一张数据表


			while(rs.next())
			{
				//显示查询的内容
				System.out.println("用户名:"+rs.getString(2)+" "+"sal:"+rs.getFloat(6));//获取数据表当前行的指定列的值,用String                                 表示
			}
			//关闭资源
			rs.close();
			sm.close();
			ct.close();

  在这里需要注意的是采用jdbc放肆连接数据库需要采用数据库专业的驱动包,我采用的是oracle11g版本的,他的包是在oracle安装路径下的jdbc/lib/ojdbc6.jar。只需要在你的项目当中添加这个额外的包即可。