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);/** 调用关闭连接的方法*/
}
}