最简单的数据库连接池(SQLlite)

来源:互联网 发布:荷兰国旗问题算法 编辑:程序博客网 时间:2024/05/23 20:25

其中prop是从xml文件中读取数据库配置参数

package com.airport.demo.util;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.LinkedList;import java.util.Properties;public class SQLlitePool {   private static String driver=null;    private static String url=null;public static  LinkedList<Connection> pool;private static int poolSize=15;    static {    PropertiesLoad prop=new PropertiesLoad();    driver=prop.driver;    url=prop.url;    try {Class.forName(driver);} catch (ClassNotFoundException e) {e.printStackTrace();}    pool=new LinkedList<Connection>();    for (int i = 0; i < poolSize; i++) {try {Connection con = DriverManager.getConnection(url);pool.addLast(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}    }    public static Connection getConnection() {    if (pool.size()>0&&!(pool.getLast()==null)) {    Connection conn=pool.getLast();    pool.removeLast();return conn;}    try {    System.out.println("连接池中没有连接,已经自动创建连接");    try {Class.forName(driver);} catch (ClassNotFoundException e) {e.printStackTrace();}Connection con = DriverManager.getConnection(url);pool.addLast(con);return con;} catch (SQLException e) {e.printStackTrace();}    System.out.println("连接池获取连接错误");return null;}        public static boolean freeConnection(Connection conn) {    if (pool.size()<SQLlitePool.poolSize&&pool.size()>0) {    pool.addLast(conn);    return true;}return false;}        }


原创粉丝点击