文档章节

Java连接Oracle数据库简单实例

白志华
 白志华
发布于 2015/10/18 10:54
字数 786
阅读 7
收藏 0
点赞 0
评论 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
博文 260
码字总数 57524
作品 0
长沙
程序员
Confluence 6 配置一个数据源连接

这个指南指导你如何配置使用 JNDI 数据源来连接到你的数据库。使用这个类型的连接,Confluence 将会询问应用服务器(Tomcat)中你配置的连接信息。 如果你希望使用 JDBC 的数据库连接方式,请...

honeymose ⋅ 06/08 ⋅ 0

使用JDBC操作SAP云平台上的HANA数据库

本文假设您对JDBC(Java Database Connectivity)有最基本的了解。您也可以将其同ADBC(ABAP Database Connectivity)做对比,细节请参考我的博客ADBC and JDBC 这篇文章分为两部分,第一部分内容...

JerryWang_SAP ⋅ 05/19 ⋅ 0

Confluence 6 Oracle 驱动输入你的数据库细节

Confluence 的安装向导将会指导你一步一步的在 Confluence 中配置安装 Oracle 数据库。 使用 JDBC 连接(默认) JDBC 是推荐的连接你的 Confluence 到数据库中的方式。 Confluence 的安装向导...

honeymose ⋅ 05/29 ⋅ 0

Hive在windows端的图形化连接工具

Hive官网上介绍过几种windows端的连接方式,本文主要介绍如何使用Oracle SQL Developer连接hive。 1.下载并解压Oracle SQL Developer 从 http://www.oracle.com/technetwork/developer-tool...

Matthew.L ⋅ 05/29 ⋅ 0

Confluence 6 新 Confluence 安装配置一个数据源连接

如果在你的 Tomcat 中配置了数据源,并且Confluence 设置指南在安装的时候检测到这个配置的时候,配置数据源的选项将会提供给你进行配置。入股你希望使用数据源,请参考下面的配置。 1. 停止...

honeymose ⋅ 06/08 ⋅ 0

Spring之jdbc Template实现CRUD操作

Spring为各种持久化技术都提供了简单操作的模板回调。比如jdbc、hibernate、Mybatis以及JPA等。 这里我们就以JDBC为例,看看JDBC template怎么实现CRUD操作。 JdbcTemplate主要提供以下几类方...

Java攻城玩家 ⋅ 05/31 ⋅ 0

Confluence 6 SQL Server 输入你的数据库细节

Confluence 的安装向导将会指导你一步一步的在 Confluence 中配置安装 SQL Server 数据库。 使用 JDBC 连接(默认) JDBC 是推荐的连接你的 Confluence 到数据库中的方式。 Confluence 的安装...

honeymose ⋅ 05/31 ⋅ 0

关于ORACLE数据传输加密的介绍

Oracle数据库的高级安全选项提供了传输数据加密、数据完整性验证等多项功能,在一定程度上可以保证数据传输的安全性。 连接到ORACLE数据库方式有两种,一种是通过sqlnet.ora文件,另一种是通...

tututu_jiang ⋅ 04/28 ⋅ 0

Oracle Java Mission Control 帮助

缩写 含义 JDK Java 开发工具包 JDP Java Discovery Protocol JFR Java 飞行记录器 JMC Java Mission Control JMX Java Management Extensions JVM Java 虚拟机 MBean 托管 Bean (Java) RCP ......

光斑 ⋅ 04/27 ⋅ 0

Confluence 6 整合到其他数据库

这个文档描述了如何整合你的 Confluence 数据库从你已经存在的数据库上到其他的数据库。这个指南被用来指导你从使用评估数据库转移到使用生产数据库。 大数据量需要第三方的数据库整合工具。...

honeymose ⋅ 06/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 51分钟前 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部