文档章节

Java连接Oracle数据库简单实例

白志华
 白志华
发布于 2015/10/18 10:54
字数 786
阅读 7
收藏 0

       数据库的操作是当前系统开发必不可少的开发部分之一,尤其是在现在的大数据时代,数据库尤为重要。但是你真的懂得Java与数据库是怎么连接的么?


       先给大家一个数据库连接的简单实例:

package com.java.dbtest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TestConnection implements DBTest{

	public void SelectUser(){

		//设定数据库驱动,数据库连接地址、端口、名称,用户名,密码
		String driverName="oracle.jdbc.driver.OracleDriver";
		String url="jdbc:oracle:thin:@localhost:1521:BJPOWERNODE";	//test为数据库名称,1521为连接数据库的默认端口
		String user="system";	//aa为用户名
		String password="bjpowernode";	//123为密码
		
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		
		//数据库连接对象
		Connection conn = null;
		
		try {
			//反射Oracle数据库驱动程序类
			Class.forName(driverName);
			
			//获取数据库连接
			conn = DriverManager.getConnection(url, user, password);
			
			//输出数据库连接
			System.out.println(conn);
			
			//定制sql命令
			String sql = "select * from t_user where user_id = ?";
			
			//创建该连接下的PreparedStatement对象
			pstmt = conn.prepareStatement(sql);
			
			//传递第一个参数值 root,代替第一个问号
			pstmt.setString(1, "root");
			
			//执行查询语句,将数据保存到ResultSet对象中
			rs = pstmt.executeQuery();
			
			//将指针移到下一行,判断rs中是否有数据
			if(rs.next()){
				//输出查询结果
				System.out.println("查询到名为【" + rs.getString("user_id") + "】的信息,其密码为:" + rs.getString("password"));
			}else{
				//输出查询结果
				System.out.println("未查询到用户名为【" + rs.getString("user_id") + "】的信息");
			}
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			try{
				if(rs != null){
					rs.close();
				}
				if(pstmt != null){
					pstmt.close();
				}
				if(conn != null){
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}	
		}
	
	}
	
	public static void main(String[] args){
		new TestConnection().SelectUser();
	}
}


       在main函数中,右键,选择“Run as”=>"Java Application",就会运行该程序段,在Console中,可以看到运行结果,如果给出一串类似于“oracle.jdbc.driver.T4CConnection@7c242f04”这样的字符串,就说明你连接成功了。运行结果如图:



       下面我们来简单解剖一下这段程序。

       这段程序是Java连接Oracle数据库的实例,采用jdbc来完成连接数据库的操作,所以需要引入ojdbc14.jar。在操作前,首先得先得到数据库驱动类的对象,通过驱动对象拿到数据库连接对象。其中Class.forName(driverName)就是应用类反射机制,加载驱动程序的。DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接一般只需要在类中直接使用方法DriverManager.getConnection,即可建立与数据库的连接

PreparedStatement 接口继承Statement,是用来执行数据库操作的类。PreparedStatement在多次调用时的效率要比Statement高很多,所以很多人都主张以PreparedStatement代替Statement。在接下来的博文中,会详细介绍一下这点《深入 理解 Statement 和 PreparedStatement》。PreparedStatement可以看做.net中的Command的类。

ResultSet 接口在很多语言中都出现过,它主要来存放查询到的数据。每次查询到数据后,Java语言中通常使用next()方法来读取数据。





版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/9068765

共有 人打赏支持
白志华
粉丝 29
博文 265
码字总数 57524
作品 0
长沙
程序员
oracle不同的连接方式SID服务名

一、通过plsql链接数据库,配置的时候分别使用SERVICE_NAME和SID,都可以链接成功 二、jdbc配置,以下三中方式都可以成功连接数据库 1.使用servicename,配置方式:jdbc:oracle:thin:@//<host...

起名字什么的太麻烦了
08/22
0
0
解说Hibernate的工作流程实例

我们知道如果用java连接数据库我们首先想到的就是JDBC,那么Hibernate原理是什么呢?hibernate可以理解为是一个中间件,它负责把java程序的sql语句接收过来发送到数据库,而数据库返回来的信息h...

chape
2013/06/08
0
0
JDBC 获取 Oracle 数据库连接(使用 Driver)

获取数据库连接的方法: 1. Driver 接口: •Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现 •在程序中不需要...

passionfly
2014/11/17
0
0
数据库连接池种类,你会那种??

在Java中开源的数据库连接池有以下几种 : 1, C3P0 C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate[1]一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement...

一一叶
2014/03/11
0
1
JDBC(Java Data Base Connectivity,java数据库连接)

JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法,JDBC对...

冰雷卡尔
2012/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
今天
2
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
8
3
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
4
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
2
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部