java连接Oracle数据库

news/2024/5/18 22:59:19 标签: java, oracle, jdbc

  java中通过JDBC访问数据库,要访问Oracle数据库,

(1)先要添加Oracle的JDBC驱动程序包ojdbc14.jar,把改文件添加到Build Path中。

(2)在src选项下,创建名为jdbcCon.properties的属性文件,在其中添加四个属性对:

       driver = oracle.jdbc.driver.OracleDriver
       url = jdbc:oracle:thin:@localhost:1521:orcl
       username = system
       password = 123

  (3)创建连接数据库类(ConnectionFactory)

java">/**
 * 数据库连接工厂
 */
package com.server.data;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
 * @author 
 *
 */
public class ConnectionFactory {
/**
 * 数据库连接类
 */
	
	//数据库驱动程序类名
	private static String DRIVER = "";
	//连接数据库的URL
	private static String URL = "";
	//连接数据库的用户名
	private static String USERNAME = "";
	//连接数据库的密码
	private static String PASSWORD = "";
		
	private ConnectionFactory(){
	}
	
	static{
		getPropertiesInfo();		
	}
	
	/**
	 * 该方法用来获得属性文件中的driver、url、username、password
	 */
	private static void getPropertiesInfo(){
		Properties prop = new Properties();
		InputStream inStream = Thread.currentThread().getContextClassLoader()
				.getResourceAsStream("jdbcCon.properties");
		try{
			//获得相应的键值对
			prop.load(inStream);
		}catch(IOException e){
			e.printStackTrace();
		}
		
		//根据相应的键获得对应的值
		DRIVER = prop.getProperty("driver");
		URL = prop.getProperty("url");
		USERNAME = prop.getProperty("username");
		PASSWORD = prop.getProperty("password");		
		      
	}
	
	/**
	 * 该方法用来加载驱动,并获得数据库的连接对象
	 *
	 * @return 数据库连接对象conn
	 */
	public static Connection getConnnection(){
		Connection conn = null;
		try{
			//加载数据库驱动程序
			Class.forName(DRIVER);
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}
		try{
			//获得数据库连接对象
			conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
			System.out.println("连接成功");
		}catch(SQLException e){
			e.printStackTrace();
		}
		
		return conn;
	}
}

  (4)创建关闭数据库类(DbClose)

java">/**
 * 关闭数据库连接
 */
package com.server.data;

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

/**
 * @author 
 *
 */
public class DbClose {
/**
 * 数据库关闭类
 */
	/**
	 * 关闭数据库连接
	 * @param conn 连接类对象
	 */
	public static void close(Connection conn){
		if(null != conn){
			try{
				conn.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 关闭数据库语句
	 * @param stmt 语句对象
	 */
	public static void close(PreparedStatement pre){
		if(null != pre){
			try{
				pre.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
	}
	
	/**
	 *关闭数据库结果集
	 * @param rs 结果集对象
	 */
	public static void close(ResultSet rs){
		if(null != rs){
			try{
				rs.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
	}
	
	public static void close(ResultSet rs,PreparedStatement pre,Connection conn){
		close(rs);
		close(pre,conn);
	}
	public static void close(PreparedStatement pre,Connection conn){
		close(pre);
		close(conn);
		System.out.println("数据库已关闭!");
	}
}




http://www.niftyadmin.cn/n/1294740.html

相关文章

elasticsearch删除索引_Elasticsearch实战pdf txt mobi下载及读书笔记

Elasticsearch实战读书笔记如何管理Elasticsearch插件,学习在搜索结果中如何高亮查询单词,在生产环境中用来协助管理Elasticsearch的第三方的监控工具有哪些,如何使用Percolator过滤为多个查询匹配少量文档,如何使用不同的建议器来…

Exchange Server 2007迁移Exchange Server 2010 (2) ---前期准备之二

Exchange Server 2007迁移Exchange Server 2010 (2) ---前期准备之二三、Exchange2007安装SP21、登陆Exchange2007服务器,查看Exchange2007版本为SP1。 2、安装SP2之前需要安装Windows Installer 4.5,否则报如图示错误。注意:安装完成此软件…

java中UDP简单聊天程序

学过计算机网络通信的都知道,计算机之间传送数据由两种,即TCP通信和UDP通信。TCP是可靠的面向连接的通信协议,二UDP是不可靠的面向无连接的通信协议。 java中有基于TCP的网络套接字通信,也有基于UDP的用户数据报通信,U…

RTXLinux编程

2019独角兽企业重金招聘Python工程师标准>>> RTlinux主要的api函数 实时应用程式分为两部分,内核部分和应用部分,应用部分需要和内核部分通过FIFO进行数据交换和控制,除此之外和一般应用程式没有太多区分,内核部分比较复杂,程式以模块方式挂入内核,这部分程式的编写…

python导入代码步骤_python导入pandas具体步骤方法

Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据…

VC版学生成绩管理系统

VC版学生成绩管理系统 一. 功能需求: 1. 能进行对数据库的连接(后台): 这是查询管理信息的基础。 2. 能进行增、删、改、查等基本功能: 这是学生成绩管理系统最基本的功能,可以在这个…

rust编程之道_【Rust日报】 20190414

laminar - 面向多玩家游戏的半可靠 UDP 协议这是 amethyst 项目下的底层网络库,可以独立使用。提供了可靠传输与不可靠传输的选择。发包use laminar::{Socket, Packet};// create the socketlet (mut socket, packet_sender, _) Socket::bind("127.0.0.1:1234…

label 字间距 行间距设置

label 字间距 行间距设置 群里讨论看到 ,先记下来,会用到的。在drowInrect里//设置字间距if(self.characterSpacing){long number self.characterSpacing;CFNumberRef num CFNumberCreate(kCFAllocatorDefault,kCFNumberSInt8Type,&number);[strin…