package demo.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
连接oracle数据库
获取getCon
重写closes()方法
首先需要oracle的jar包
jar包的路径是在oracle安装目下的:C:\ProgramFiles\oracle\product\11.2.0\dbhome_1\jdbc\lib
这里面的任意一个包都可以。
这里连接数据的url和mysql的有点不一样,需要注意:jdbc:oracle:thin:@localhost:1521:orcl
*/
public class JDBCUtils {
private static String driver= "oracle.jdbc.OracleDriver";
private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
private static String user = "scott";
private static String password = "tiger";
//注册驱动
static{
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection(){
try {
return DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 执行java程序:
* java -Xms100M -Xmx200M HelloWorld
* 拓展一个知识:
java的垃圾回收机制,我们是不可以通过java代码来控制的,虽然我们可以看到在System类里有一个.gc(),垃圾调用回收机制
但是我们是不能控制的。jvm会自动在空闲的时间去清理垃圾
一般情况下,当内存能够运行本次程序的时候,调用gc(),并不会马上清理垃圾。只有当不够运行本次程序的时候才会清理。
* Thread Dump
*/
public static void release(Connection conn,Statement st, ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs = null;
}
}
if(st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
st = null;
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
conn = null;
}
}
}
}