当前位置:文档之家› Java实现数据库连接池的代码.

Java实现数据库连接池的代码.

1 package com.kyo.connection;23 import java.sql.Connection;4 import java.sql.DatabaseMetaData;5 import java.sql.Driver;6 import java.sql.DriverManager;7 import java.sql.SQLException;8 import java.sql.Statement;9 import java.util.Enumeration;10 import java.util.Vector;1112 public class ConnectionPool {1314 private ConnectionParam param;1516 private String testTable = ""; // 测试连接是否可用的测试表名,默认没有测试表1718 private Vector connections = null; // 存放连接池中数据库连接的向量 , 初始时为19 // null,它中存放的对象为PooledConnection 型2021 public void setParam(ConnectionParam param {22 this.param = param;23 }2425 public ConnectionParam getParam( {26 return param;27 }2829 /**30 * 构造函数31 *32 * @param param33 */34 public ConnectionPool(ConnectionParam param {35 this.param = param;36 }3738 /**39 *40 * 获取测试数据库表的名字41 *42 * @return 测试数据库表的名字43 */4445 public String getTestTable( {46 return this.testTable;47 }4849 /**50 *51 * 设置测试表的名字52 *53 * @param testTable54 * String 测试表的名字55 */5657 public void setTestTable(String testTable {58 this.testTable = testTable;59 }6061 /**62 * 创建一个数据库连接池,连接池中的可用连接的数量采用类成员initialConnections 中设置的值63 */6465 public synchronized void createPool( throws Exception {6667 // 确保连接池没有创建68 // 如果连接池己经创建了,保存连接的向量 connections 不会为空69 if (connections != null {70 return; // 如果己经创建,则返回71 }7273 // 实例化 JDBC Driver 中指定的驱动类实例74 Driver driver = (Driver (Class.forName(this.param.getDriver(75 .newInstance(;76 DriverManager.registerDriver(driver; // 注册 JDBC 驱动程序77 // 创建保存连接的向量 , 初始时有 0 个元素78 connections = new Vector(;7980 // 根据 initialConnections 中设置的值,创建连接。

81 createConnections(this.param.getMinConnection(;82 System.out.println(" 数据库连接池创建成功! ";8384 }8586 /**87 *88 * 创建由 numConnections 指定数目的数据库连接 , 并把这些连接放入connections 向量中89 *90 * @param numConnections91 * 要创建的数据库连接的数目92 */9394 private void createConnections(int numConnections throws SQLException {9596 // 循环创建指定数目的数据库连接97 for (int x = 0; x < numConnections; x++ {98 // 是否连接池中的数据库连接的数量己经达到最大?最大值由类成员maxConnections,指出,如果 maxConnections99 // 为 0 或负数,表示连接数量没有限制。

100 // 如果连接数己经达到最大,即退出。

101102 if (this.param.getMaxConnection( > 0103 && this.connections.size( >= this.param.getMaxConnection( { 104 break;105 }106107 // add a new PooledConnection object to connections vector 108 // 增加一个连接到连接池中(向量 connections 中)109 try {110 connections.addElement(new PooledConnection(newConnection(; 111 } catch (SQLException e {112 System.out.println(" 创建数据库连接失败! " + e.getMessage(; 113 throw new SQLException(;114 }115116 System.out.println(" 数据库连接己创建 ......";117 }118119 }120121 /**122 *123 * 创建一个新的数据库连接并返回它124 *125 * @return 返回一个新创建的数据库连接126 */127128 private Connection newConnection( throws SQLException {129130 // 创建一个数据库连接131 Connection conn =DriverManager.getConnection(this.param.getUrl(,132 this.param.getUser(, this.param.getPassword(;133134 // 如果这是第一次创建数据库连接,即检查数据库,获得此数据库允许支持的135 // 最大客户连接数目136 // connections.size(==0 表示目前没有连接己被创建137138 if (connections.size( == 0 {139140 DatabaseMetaData metaData = conn.getMetaData(;141 int driverMaxConnections = metaData.getMaxConnections(;142143 // 数据库返回的 driverMaxConnections 若为 0 ,表示此数据库没有最大144 // 连接限制,或数据库的最大连接限制不知道145 // driverMaxConnections 为返回的一个整数,表示此数据库允许客户连接的数目146 // 如果连接池中设置的最大连接数量大于数据库允许的连接数目 , 则置连接池的最大147 // 连接数目为数据库允许的最大数目148149 if (driverMaxConnections > 0150 && this.param.getMaxConnection( > driverMaxConnections {教师教育教学工作综合考核评价方案为进一步深化学校管理体制改革,引导和激励广大教师更加爱岗敬业、无私奉献,不断增强工作、学习的积极性和主动性,特制定教师教育教学工作综合考核评价方案。

一、考核对象在职在岗的全体教师。

二、考核内容及方法考核从道德规范、教学常规、研究与提高、教育教学效果、特色工作等方面进行考核,总分800分(不包括加分。

(一道德规范(100分1.政治表现(5分认真学习党的路线、方针、政策,自觉抵制各种错误思潮和腐朽思想文化的影响;在大是大非问题上,立场坚定,旗帜鲜明。

2.师德素养(10分遵守教师职业道德,为人师表,举止文明端庄;团结同志,顾全大局,服从领导,关心集体,维护学校荣誉;公正、公平、严谨客观地行使监督评议职责,以自己良好的思想和道德风范去影响和培养学生。

3.遵纪守法(5分遵守国家法律法规,遵守学校规章制度,以良好的思想政治素质影响和引领学生,不准单纯以学习成绩评价学生,不耻视、不排除差生。

4.出勤(80分遵守学校作息时间,遵守学校工作纪律。

旷课1节扣10分,无请假或临时请假(特殊情况除外)事假半天、会议扣3分,事假半天扣2分,病假1天扣1分(住院期间不扣分),迟到、早退(包括会议、活动、上课)1次扣1分。

(二教学常规(300分1.计划、总结(10分教学教研计划应符合学情、教情,符合课改新理念;教学总结应对典型课例、教学方法、教学能力、学法指导等教学行为进行深刻的反思。

2.备课(100分按校教学管理备课要求执行课前必须写好教案,教案目标明确,重点难点突出,教学过程完整,各课课时达到规定要求。

*目标明确,重点难点突出,教学过程完整:完成95%、80%、60%和60%以下的分别计100分、90分、80分和60-30分*课时超2-5课时、刚好、缺5课时以内、缺5课时以外的分别计100分、90分、80分和60-30分按备课的常规要求进行计分,平时检查和期末检查相结合,以上两项以百分比相乘结果进行分档计分。

.3.课堂教学(90分按校教学管理课堂教学要求执行。

以90分、80分、60分进行分档计分。

4.作业批改(100分, 以40-48人为准,每超或少1人加或减1个百分点按校教学管理作业要求执行。

采取抽查作业和调查了解的办法进行评估。

可以从作业数量、质量、批改分析记录和分层作业等几个方面评估分优、良、中、差。

平时检查占50%,期末检查占50%。

(三研究与提高(100分1.教材研究(50分每位教师每学期至少要上一节校级研讨课10分,课后反思按要求完成的得10分,每缺一份少1分2.培训提高(50分(1听课评课(25分积极参加听课评课活动。

相关主题