JAVA 连接ORACLE数据库代码

import java.net.url; 
import java.sql.*;

public class javaoracle {
public javaoracle() {
}
public static void main(string[] args){
try
{
try{
class.forname("oracle.jdbc.driver.oracledriver");
}
catch(java.lang.classnotfoundexception e)
{
system.err.print(e.getmessage());
}
string url="jdbc:oracle:thin:@server:1521:sdcdb";
connection conn=drivermanager.getconnection(url,"test","test");
statement stmt=conn.createstatement();
resultset rs=stmt.executequery("select score from my");
while(rs.next())
{
system.out.println(rs.getstring(1));
}
conn.close();
}
catch(sqlexception ex)
{
while(ex!=null)
{system.out.println(ex.getsqlstate());
}
}
}
}
///

在try{}中:     Class.forName("oracle.jdbc.driver.OracleDriver");
                           //将OracleDriver载入JVM对象池
抛出:ClassNotFoundException

3.连接数据库:   Connection con=DriverManager.getConnection("jdbc:oracle:thin:ordertemp/ordetemp@localhost:1521:GY");
数据库类型标识符:  jdbc:odbc:thin
登陆用户名:        ordertemp
登陆密码:          ordertemp
数据库服务器IP地址:localhost  (或者用127.0.0.1,如果是网络,则为URL)
数据虚拟端口号:    1521       (oracle默认端口号)              //(sqlserver默认端口号1433)
数据库SID:         GY        
抛出:SQLException

4.创建Statement对象(PreparedStatement也可以)
Statement stm=con.createStatement();
PreparedStatement psm=con.prepareStatement(String sql);

5.执行相关SQL查询语句及获得结果。

6.结束之后,必须使用:  stm.close();    //psm.close();
                        con.close();


附3:方式二:
java.util.Properties;
oracle.jdbc.driver.OracleDriver;

Properties p=new Properties();
p.setProperty(OracleDriver.password_string,"ordertemp");
p.setProperty(OracleDriver.user_string,"ordertemp");
p.setProperty(OracleDriver.database_string,"GY");
p.setProperty(OracleDriver.protocol_string,"1521");

OracleDriver od=new OracleDriver();
connection con=od.connect("jdbc:oracle:thin",p);

 
package Oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class javaonoracle {

 public static void main(String[] args) {
  String sql = "select ID from USERS";
  List list = Query(sql);
  for (int i = 0; i < list.size(); i++) {
   System.out.println(list.get(i));
  }
 }

 /**
  * 取数据库连接   返回 Connection 对象
  * @return
  */
 public static Connection getconn() {
  String driver = "oracle.jdbc.driver.OracleDriver";
  Connection conn = null;
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection(
     "jdbc:oracle:thin:@localhost:1521:OAR92", "users",
     "pwd");
  } catch (SQLException e) {
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
  return conn;
 }

 /**
  * 根据SQL语句查询数据。传 SQL语句。返回List集合
  * @param sql
  * @return
  */
 public static List Query(String sql) {
  Statement stmt = null;
  ResultSet rset = null;
  List list = new ArrayList();
  try {
   stmt = getconn().createStatement();
   rset = stmt.executeQuery(sql);
   while (rset.next())
    list.add(rset.getString(1));
   stmt.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return list;
 }
}
下面是连接数据库的代码:
package org.javawo.test; 
import java.sql.Connection; 
import java.sql.DriverManager;
/** 
 * 获取数据库连接
 * 
 * @author 杨涛
 *
 */
public class DBConnection {
    
    /** Oracle数据库连接URL*/
    private final static String DB_URL = "jdbc:oracle:thin:@192.168.2.66:1521:orcl66";
    
    /** Oracle数据库连接驱动*/
    private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
    
    /** 数据库用户名*/
    private final static String DB_USERNAME = "cpp";
    
    /** 数据库密码*/
    private final static String DB_PASSWORD = "cpp";
    
    /**
     * 获取数据库连接
     * @return
     */
    public Connection getConnection(){
        /** 声明Connection连接对象*/
        Connection conn = null;
        try{
            /** 使用Class.forName()方法自动创建这个驱动程序的实例且自动调用DriverManager来注册它*/
            Class.forName(DB_DRIVER);
            /** 通过DriverManager的getConnection()方法获取数据库连接*/
            conn = DriverManager.getConnection(DB_URL,DB_USERNAME,DB_PASSWORD);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return conn;
    }
    
    /**
     * 关闭数据库连接
     * 
     * @param connect
     */
    public void closeConnection(Connection conn){
        try{
            if(conn!=null){
                /** 判断当前连接连接对象如果没有被关闭就调用关闭方法*/
                if(!conn.isClosed()){
                    conn.close();
                }
            }
        }catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
 
下面是连接工厂的代码:
package org.javawo.test; 
import java.sql.Connection; 
/** 
 * 数据库连接创建工厂类
 * 
 * @author 杨涛
 *
 */
public class DBFactory {
    
    /** 数据库连接对象*/
    private DBConnection dbConn = new DBConnection();
    
    /**
     * 获取数据库连接对象实例
     * 
     * @return
     */
    public DBConnection getDBConnectionInstance(){
        /** 如果为null就创建一个新的实例化对象且返回*/
        if(dbConn==null){
            dbConn = new DBConnection();
            return dbConn;
        }
        /** 如果不为null就直接返回当前的实例化对象*/
        else{
            return dbConn;
        }
    }
    
    /** 关闭数据库连接*/
    public void closeConnection(Connection conn){
        /** 如果为null就创建一个新的实例化对象*/
        if(dbConn==null){
            dbConn = new DBConnection();
        }
        dbConn.closeConnection(conn);/** 调用关闭连接的方法*/
    }
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值