jdbc学习(一): 利用配置文件、接口等方式建立数据库连接

本文介绍了一种使用Java进行数据库连接的方法,通过配置文件加载数据库连接信息,并利用接口实现了数据库连接的获取与关闭。同时,文章提供了具体的代码示例,包括异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习了用配置文件和实现接口等方式来访问数据库。

知识点1. 采用系统api的properties方法来加载配置文件,根据Key,value方式来读取数据库配置信息, driver, url, username, password。

知识点2. 使用接口方式来实现获得数据库连接以及关闭连接

后续还将学习数据库访问连接池等技术。

上述的代码都来自与java学习笔记.

/**
*
*/
package db;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;

/**
* 数据库连接测试类
* 1. dbsource 实例化
* 2. 获得connection
* 3. 根据connection是否关闭的状态,打印相应的状态语句
* @author Administrator
*
*/
public class ConnectionDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DBSource dbSource;
try {
dbSource = new SimpleDBSource();
Connection conn = dbSource.getConnect();

if( !conn.isClosed()){
System.out.println("数据库连接开启!");
}

dbSource.closeConn(conn);

if(conn.isClosed()){
System.out.println("数据库连接关闭");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

}




package db;

import java.sql.Connection;
import java.sql.SQLException;

/**
* 接口类
* getConnection()
* closeConn()
* @author sean
*
*/
public interface DBSource {
public Connection getConnect() throws SQLException;
public void closeConn(Connection conn) throws SQLException;

}



/**
*
*/
package db;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
* @author sean
*
* 构造函数
* 加载配置文件、赋值、加载驱动程序
* 获得数据库连接getConn
* 关闭数据库连接close()
*
*/
public class SimpleDBSource implements DBSource{

private String url;
private String username;
private String password;
private Properties props;

/**
* 构造函数
* 加载配置文件
* @throws FileNotFoundException
* @throws IOException
* @throws ClassNotFoundException
*/
public SimpleDBSource() throws FileNotFoundException, IOException, ClassNotFoundException{
this("jdbc.properties");
}

/**
* 1. 初始化Properties, 2. loadfile, 3. assignment
* @param configFile
* @throws FileNotFoundException
* @throws IOException
* @throws ClassNotFoundException
*/
public SimpleDBSource(String configFile) throws FileNotFoundException, IOException, ClassNotFoundException{
//TODO 1. 初始化Properties, 2. loadfile, 3. assignment
props = new Properties();

props.load(new FileInputStream(configFile));

url = props.getProperty("net.tuolian.url");
username = props.getProperty("net.tuolian.username");
password = props.getProperty("net.tuolian.password");

Class.forName(props.getProperty("net.tuolian.Driver"));
}

/**
* 获得数据库连接Connection
*/
public Connection getConnect() throws SQLException {
// TODO Auto-generated method stub
return DriverManager.getConnection(url, username, password);
}

/**
* 关闭当前连接
*/
public void closeConn(Connection conn) throws SQLException {
// TODO Auto-generated method stub
if( conn == null){
return;
}
conn.close();
}
}



net.tuolian.Driver=com.mysql.jdbc.Driver
net.tuolian.url=jdbc:mysql://localhost:3306/demo
net.tuolian.username=root
net.tuolian.password=root
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值