JDBC配置相关信息及范例

========数据库连接========
oracle数据库连接:
oracle驱动:oracle.jdbc.driver.OracleDriver/oracle.jdbc.OracleDriver
oracle_URL:jdbc:oracle:thin:@<主机名>:<端口号(默认1521)>:<实例名>
实例:
//1、装载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2、建立连接
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","orcl");




mysql数据库连接:
mysql驱动:com.mysql.jdbc.Driver
mysql_url:jdbc:mysql://<主机名>:<端口号(默认3306)>/<数据库名>


=========针对数据库驱动、连接代码重复使用的问题=========
针对数据库驱动、连接代码重复使用的问题
解决方案:
第一种:
将重复代码提取出来封装成一个DBUtil数据库工具类,其中方法为静态方法
将数据配置在工具类中
package tarena.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


/**
 * 数据库操作工具类
 * @author Administrator
 * 
 */
public class DBUtil {
private static String driver = null;
private static String url = null;
private static String username = null;
private static String password = null;
/**
* 类的代码块:类加载时执行,只执行一次
*/
static {
try {

driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl";
username = "system";
               password = "orcl";
//3、加载驱动:只需加载一次就行
Class.forName(driver);
} catch (Exception e) {
System.out.println("配置文件读取异常!");
e.printStackTrace();
}
}

/**
* 获取连接对象
* @return
* @throws SQLException 
*/
public static Connection getConnection() throws SQLException{
Connection con=DriverManager.getConnection(url,username,password);
return con;
}


/**
* 关闭所有资源
* @param con
* @param stmt
* @param rs
*/
public static void close(Connection con,Statement stmt,ResultSet rs){
try {
if(stmt!=null){
stmt.close();
}
if(rs!=null){
rs.close();
}
if(con!=null){
con.close();
}
} catch (Exception e) {
          System.out.println("数据库关闭产生异常!");
          e.printStackTrace();
}

}
}


第二种(灵活、适应多种数据库连接):
1、将重复代码提取出来封装成一个DBUtil数据库工具类,其中方法为静态方法
2、创建db.properties属性文件,将数据配置在属性文件中
例:
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc\:oracle\:thin\:@localhost\:1521\:orcl
jdbc.username=system
jdbc.password=orcl
3、DBUtil工具类中读取属性文件,配置数据信息
public class DBUtil {
private static String driver = null;
private static String url = null;
private static String username = null;
private static String password = null;
/**
* 类的代码块:类加载时执行,只执行一次
*/
static {
try {
// 1、加载db.properties文件
Properties properties = new Properties();
String path = "tarena/dao/db.properties";
//DBUtil.class.getClassLoader():定位到当前目录下的src目录
properties.load(DBUtil.class.getClassLoader().getResourceAsStream(path));
// 2、从db.properties文件中读取配置信息
driver=properties.getProperty("jdbc.driver");
url=properties.getProperty("jdbc.url");
username=properties.getProperty("jdbc.username");
password=properties.getProperty("jdbc.password");

//测试代码
// System.out.println(driver);
// System.out.println(url);
// System.out.println(username);
// System.out.println(password);
//3、加载驱动:只需加载一次就行
Class.forName(driver);
} catch (Exception e) {
System.out.println("配置文件读取异常!");
e.printStackTrace();
}
}

/**
* 获取连接对象
* @return
* @throws SQLException 
*/
public static Connection getConnection() throws SQLException{
Connection con=DriverManager.getConnection(url,username,password);
return con;
}


        /**
* 关闭所有资源
* @param con
* @param stmt
* @param rs
*/
public static void close(Connection con,Statement stmt,ResultSet rs){
try {
if(stmt!=null){
stmt.close();
}
if(rs!=null){
rs.close();
}
if(con!=null){
con.close();
}
} catch (Exception e) {
          System.out.println("数据库关闭产生异常!");
          e.printStackTrace();
}

}
         。。。。。其他封装的方法
}



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值