目录
在网上找了许多文章,关于JDBC连接的杂七杂八,要么写的很复杂,所以自己总结了一下。
1.项目结构图
2.新建一个properites文件
用于jdbc加载数据库信息
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbctest
username=root
password=root
jdbcPoolInitSize=10
3.新建jdbc连接池工具类JdbcPool
package com.test.util;
import java.io.InputStream;
import java.io.PrintWriter;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.util.LinkedList;
import java.util.Properties;
import java.util.logging.Logger;
import javax.sql.DataSource;
/**
* * 原生的jdbc连接池,加载jdbc.properties文件
*/
public class JdbcPool implements DataSource {
/**
* * @Field: listConnections 使用LinkedList集合来存放数据库链接,
* 由于要频繁读写List集合,所以这里使用LinkedList存储数据库连接比较合适
*/
private static LinkedList<Connection> listConnections = new LinkedList<Connection>();
private static Connection conn;
// 在静态代码块中加载src/jdbc.properties数据库配置文件
static {
InputStream in = JdbcPool.class.getResourceAsStream("/jdbc.properties");
Properties prop = new Properties();
try {
prop.load(in);
String driver = prop.getProperty("driver");
String url = prop.getProperty("url");
S