JDBC访问Oracle数据库例子源代码,包括创建table,删除table,插入记录,删除记录,查询记录等

package com.cb;

public class SMSInfo
{
	public static String ITEMINDEX = "sms_index";
	public static String ITEMTO = "sms_to";
	public static String ITEMFROM = "sms_from";
	public static String ITEMMSG = "sms_msg";
	public static String ITEMMSG2 = "sms_msg_binary";

	int mIndex;
	private String mTo;
	private String mFrom;
	private String mMsg;
	private byte[] mMsg2;

	public SMSInfo(int index, String to, String from, String msg, byte[] msg2)
	{
		mIndex = index;
		mTo = to;
		mFrom = from;
		mMsg = msg;
		mMsg2 = msg2;
	}
	public int index()
	{
		return mIndex;
	}
	public String to()
	{
		return mTo;
	}
	public String from()
	{
		return mFrom;
	}
	public String msg()
	{
		return mMsg;
	}
	public byte[] msg2()
	{
		return mMsg2;
	}
}
package com.cb;

import java.sql.*;
import java.util.Vector;

import com.cb.CBLogger.Logger;

public class OracleAdaptor
{
	private static String TAG = "OracleAdaptor";
	private static Connection mConnection = null;
	private static Statement mStatement = null;
	private static PreparedStatement mPreparedStatement = null;
	private static ResultSet mResultSet = null;
	private static String TABLENAME = "sms_to_submit";
	private static String VARCHAR32 = "varchar(32)";
	private static String VARCHAR512 = "varchar(512)";
	private static String INTEGER = "INTEGER";
	private static String BLOB = "BLOB";
	static
	{
		try
		{
			Class.forName("oracle.jdbc.driver.OracleDriver");
		}
		catch(Exception e)
		{
			Logger.w(TAG, "Initialize driver throw " + e.toString());
		}
	}
	boolean getConnection()
	{
		String msg = "Connecting to ";
		String url = "jdbc:oracle:" + "thin:@192.168.1.106:1521:mybase"; //ORCL
		msg += url;
		String user = "C##JACKY";
		String password = "1234";
		Logger.d(TAG, msg);
		try
		{
			try
			{
				if (mConnection != null)
				{
					mConnection.close();
					mConnection = null;
				}
			}
			catch(SQLException e)
			{
				Logger.w(TAG, e.getMessage());
			}
			mConnection = DriverManager.getConnection(url, user, password);
			Logger.d(TAG, "Connected.");
			return true;
		}
		catch(SQLException e)
		{
			mConnection = null;
			Logger.w(TAG, "getConnection throw " + e.getMessage());

		}
		return false;
	}
	private void clearResource()
	{
		try
		{
			if(mResultSet != null)
			{
				mResultSet.close();
				mResultSet = null;
			}
		}
		catch(Exception e)
		{

		}
		try
		{
			if(mStatement != null)
			{
				mStatement.close();
				mStatement = null;
			}
		}
		catch(Exception e)
		{

		}
		try
		{
			if(mPreparedStatement != null)
			{
				mPreparedStatement.close();
				mPreparedStatement = null;
			}
		}
		catch(Exception e)
		{

		}
		try
		{
			if(mConnection != null)
			{
				mConnection.close();
				mConnection = null;
			}
		}
		catch(Exception e)
		{

		}
	}
	public boolean createTable()
	{
		String createTableSql = "create table ";
		createTableSql = createTableSql + TABLENAME + "(" + SMSInfo.ITEMINDEX + " " + INTEGER + ","+  SMSInfo.ITEMTO + " " + VARCHAR32  + ","
			+ SMSInfo.ITEMFROM + " " + VARCHAR32  + ","+ SMSInfo.ITEMMSG + " " + VARCHAR512   + ","+ SMSInfo.ITEMMSG2 + " " + BLOB + ") ";
		try
		{
			if(getConnection())
			{
				mStatement = mConnection.createStatement();
				mStatement.executeUpdate(createTableSql);
			}
		}
		catch(SQLException ex)
		{
			Logger.w(TAG, "createTable throw " + ex.getMessage());
			return false;
		}
		finally
		{
			clearResource();
		}
		return true;
	}
	public boolean dropTable()
	{
		String dropTableSql = "DROP TABLE " + TABLENAME;
		try
		{
			if(getConnection())
			{
				mStatement = mConnection.createStatement();
				mStatement.executeUpdate(dropTableSql);
			}
		}
		catch(SQLException ex)
		{
			Logger.w(TAG, "dropTable throw " + ex.getMessage());
			return false;
		}
		finally
		{
			clearResource();
		}
		return true;
	}
	public boolean insert(Vector<SMSInfo> smss, Vector<SMSInfo> submitedSMSs)
	{
		String insertSql = "INSERT INTO " + TABLENAME + "(" + SMSInfo.ITEMINDEX + ", " + SMSInfo.ITEMTO + "," + SMSInfo.ITEMFROM + ","
				+ SMSInfo.ITEMMSG + "," + SMSInfo.ITEMMSG2 + ")" + " VALUES (?, ?, ?, ?, ?)";

		try
		{
			if(!getConnection())
			{
				return false;
			}
			for(int i = 0; i < smss.size(); i++)
			{
				SMSInfo sms = smss.get(i);
				mPreparedStatement = mConnection.prepareStatement(insertSql);
				mPreparedStatement.setInt(1, sms.index());
				mPreparedStatement.setString(2, sms.to());
				mPreparedStatement.setString(3, sms.from());
				mPreparedStatement.setString(4, sms.msg());
			    mPreparedStatement.setBytes(5, JSONAdaptor.mDefaultMsg2);
				mPreparedStatement.executeUpdate();
				mPreparedStatement.close();
				mPreparedStatement = null;
				submitedSMSs.add(sms);
			}
		}
		catch (SQLException ex)
		{
			Logger.w(TAG, "insert throw " + ex.getMessage());
		}
		finally
		{
			clearResource();
		}
		return true;
	}
	public boolean query(Vector<SMSInfo> smss)
	{
		String selectSql = "SELECT * FROM " + TABLENAME;
		try
		{
			if(!getConnection())
			{
				return false;
			}
			mStatement = mConnection.createStatement();
		    mResultSet = mStatement.executeQuery(selectSql);
		    while(mResultSet.next())
		    {
				 //Retrieve by column name
		    	int index = mResultSet.getInt(SMSInfo.ITEMINDEX);
				String to = mResultSet.getString(SMSInfo.ITEMTO);
				String from = mResultSet.getString(SMSInfo.ITEMFROM);
				String msg = mResultSet.getString(SMSInfo.ITEMMSG);
				byte[] msg2 = mResultSet.getBytes(SMSInfo.ITEMMSG2);
				SMSInfo sms = new SMSInfo(index, to, from, msg, msg2);
				smss.add(sms);
		    }
		}
		catch (SQLException ex)
		{
			Logger.w(TAG, "query throw " + ex.getMessage());
		}
		finally
		{
			clearResource();
		}
		return true;

	}
	public boolean delete(Vector<Integer> indexs)
	{
		String deleteSql = "DELETE FROM  " + TABLENAME + " WHERE ";
		for(int i = 0; i < indexs.size(); i++)
		{
			if(i != 0)
			{
				deleteSql += " or ";
			}
			deleteSql += (SMSInfo.ITEMINDEX + " = '" + indexs.get(i) + "'" ) ;
		}

		try
		{
			if(!getConnection())
			{
				return false;
			}
			mStatement = mConnection.createStatement();
		    mResultSet = mStatement.executeQuery(deleteSql);

	      	mStatement.executeUpdate(deleteSql);
		}
		catch (SQLException ex)
		{
			Logger.w(TAG, "delete throw " + ex.getMessage());
		}
		finally
		{
			clearResource();
		}
		return true;
	}
	public void accessOracle()
	{
		dropTable();
		createTable();
		Vector<SMSInfo> toSubmit = new Vector<SMSInfo>();
		Vector<SMSInfo> submited = new Vector<SMSInfo>();
		for(int i = 0; i < 100; i++)
		{
			int index = i;
			String to = "1860000" + index;
			String from = "1880000" + index;
			String msg = "这个短信发给Alex,   谢谢。 ";
			toSubmit.add(new SMSInfo(index, to, from, msg, JSONAdaptor.mDefaultMsg2));
		}
		insert(toSubmit, submited);

		Vector<SMSInfo> quried = new Vector<SMSInfo>();
		query(quried);

		Vector<Integer> indexs = new Vector<Integer>();
		for(int i = 0; i < quried.size(); i++)
		{
			indexs.add(new Integer(quried.get(i).index()));
		}

		delete(indexs);

		quried.clear();
		query(quried);
	}
	public static void main(String[] args)
	{
		OracleAdaptor dbTest = new OracleAdaptor();
	    dbTest.accessOracle();
	}
}

JDBC访问Oracle数据库例子源代码,包括创建table,删除table,插入记录,删除记录,查询记录等

时间: 2024-08-02 10:54:41

JDBC访问Oracle数据库例子源代码,包括创建table,删除table,插入记录,删除记录,查询记录等的相关文章

简单的JDBC连接oracle数据库例子

java连接Oracle数据库 JDBC(Java Data Base Connectivity,java数据库连接),那么我们该如何用java进行数据库的连接呢. import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class JDB

在Eclipse中通过JDBC连接Oracle数据库并操作

一.JDBC释义 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制. 二.JDBC连接Oracle数据库的流程及原理 1)在开发环境中加载指定数据库的驱动

.net中使用ODP.net访问Oracle数据库(无客户端部署方法)

.net中使用ODP.net访问Oracle数据库(无客户端部署方法) 分类: c# database2012-01-05 15:34 6330人阅读 评论(1) 收藏 举报 oracle数据库.netcomponentsdll ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用. 以下内容转载自:http://blog.ywxyn.com/index.php/archives/326

JDBC连接Oracle数据库

我记得大二的时候,我们上java课程,当时老师就说了JDBC这个东西,也没怎么好好学,直到现在,我也不直到JDBC是什么玩意,就知道这玩意可以从数据库提取数据,那么JDBC到底是什么呢? JDBC是Java DataBase Connectivity的缩写,含义意思是java数据库连接,不需要多解释了,我感觉! 那么我们如何去做这样子的一个连接呢?用过一次之后就会发现,其实很简单,记住几个步骤,还有就是导入必要的驱动包就可以了,下面是几个重要的步骤: 第一步,你的项目环境中必须要导入必要的数据库

【Oracle】PHP通过PDO访问oracle数据库

文章目录 虽然LAMP中PHP和MySQL是标准配对,但是公司的项目是MySQL和Oracle分别作为运行库和详单库的,所以PHP连接oracle数据库也是必须要实现的.本篇文章就介绍下如果通过PDO连接到oracle数据库. 同样先说明下我使用到的环境: RedHat(CentOS)6.7 PHP5.6 Oracle11g php5.6的搭建可以参照这里:Oracle在linux环境下的安装可以参考这里 当然,你也可以不安装整个oracle,而只安装instant client来实现:如果是i

运行于64操作系统上的C#客户端通过WCF访问Oracle数据库不兼容问题

运行平台: Windows 7  64位操作系统 运行环境: IIS 7 编程语言:C# 数据库: 32位的Oracle 10g 运行原因:64位操作系统C#客户端程序通过WCF访问ORACLE数据库 结果产生异常:System.InvalidOperationException: 未在本地计算机上注册“MSDAORA”提供程序 客户端程序在本地运行能够正常访问Oracle数据库数据, 但通过WCF连接不上Oracle数据库, 一开始以为是"MSDAORA"驱动没装上,通过检查,MSD

.net(C#)访问Oracle数据库的几种免安装组件的对比

Oracle 数据存取组件(ODAC) 库为Borland Delphi,C++ Builder 以及 Kylix提供了一些非可视化的组件.它们用来存取Oracle关系数据库系统.与BDE类似, ODAC 也是一种可供选择的处理数据的方法之一. ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口(API). OCI 通过一个动态运行库(ORA*.DLL)

JAVA通过JDBC连接Oracle数据库详解【转载】

JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2.获得连接 数据库地址: URL="jdbc:oracle:thi

在Eclipse中使用JDBC访问MySQL数据库的配置方法

在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据库eclipsewordpressproperties 这是一篇JDBC的使用入门文章,主要内容是如何在Eclipse中使用MySQL的JDBC驱动程序. 要使用JDBC访问MySQL的数据库,或者是其他类型的数据库,必须要有这种数据库系统的JDBC驱动程序.通常,JDBC驱动程序是由数据库开发商制