- 浏览: 139054 次
文章分类
- 全部博客 (149)
- Java (41)
- 设计模式 (23)
- php (2)
- C++ (2)
- Linux (6)
- C (1)
- JavaEE (27)
- javascript (2)
- uplodify (1)
- Mybatis (2)
- Maven (4)
- Lucene (3)
- commons (1)
- Spring (7)
- SQL (3)
- mahout (1)
- MySQL (2)
- extjs4.2.1 (2)
- ubuntu (1)
- hadoop (1)
- hibernate (1)
- Spring JPA (2)
- JPA 2.0 (1)
- express (1)
- redis (2)
- angularjs (1)
- git (1)
- Python (1)
- logging (2)
最新评论
-
xlaohe1:
controller返回的是一个POJO对象,然后用@Resp ...
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
TRAMP_ZZY:
能帮到你,我也很高兴。
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
jobzjc:
第一段有帮到我。如果是非对象,Object方式传递的时候,第一 ...
Spring MVC 4.X ResponseBody 日期类型Json 处理 -
TRAMP_ZZY:
dingran 写道为什么,我怎么就没找到System > ...
Ubuntu 12.04 设置 IBus 开机启动 -
dingran:
为什么,我怎么就没找到System >> Pref ...
Ubuntu 12.04 设置 IBus 开机启动
public class MyDataSource { private static String url = "jdbc:mysql://localhost:3306/riverevaluationsys"; private static String user = "root"; private static String password = "root"; private static int initCount = 5; private static int maxCount = 20; private int currentCount = 0; private LinkedList<Connection> connectionsPool = new LinkedList<Connection>(); public MyDataSource() { try { for (int i=0; i<5; i++) { this.connectionsPool.add(this.createConnection()); this.currentCount++; } } catch (SQLException e) { throw new ExceptionInInitializerError(e); } } public Connection getConnection() throws SQLException { // 添加同步锁 synchronized (connectionsPool) { if (this.connectionsPool.size() > 0) { return this.connectionsPool.removeFirst(); } else { if (this.currentCount < maxCount) { this.currentCount++ ; return this.createConnection(); } else { throw new SQLException("no more connection."); } } } } public void free(Connection conn) { this.connectionsPool.addLast(conn); } private Connection createConnection() throws SQLException { return DriverManager.getConnection(url, user, password); } }
public class JdbcUtils { /*private static String url = "jdbc:mysql://localhost:3306/riverevaluationsys"; private static String user = "root"; private static String password = "root";*/ private static MyDataSource myDataSource ; // 装入虚拟机,立即执行 static { try { Class.forName("com.mysql.jdbc.Driver"); myDataSource = new MyDataSource(); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError(e); } } /** * * getConnection:<br /> * 获取数据库的连接 * * @author zhangzhaoyu * @return * @throws SQLException */ public static Connection getConnection() throws SQLException { //return DriverManager.getConnection(url, user, password); return myDataSource.getConnection(); } /** * * close:<br /> * 关闭资源 * * @author zhangzhaoyu * @param conn * @param rs * @param st */ public static void close(Connection conn, ResultSet rs, Statement st) { try { if (rs != null) rs.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (st != null) st.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { myDataSource.free(conn); } catch (Exception e) { e.printStackTrace(); } } } } /** * * close:<br /> * 关闭数据库重载函数 * * @author zhangzhaoyu * @param conn * @param rs * @param pst */ public static void close(Connection conn, ResultSet rs, PreparedStatement pst) { try { if (rs != null) rs.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (pst != null) pst.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) try { myDataSource.free(conn); } catch (Exception e) { e.printStackTrace(); } } } } /** * * close:<br /> * 关闭资源 * * @author zhangzhaoyu * @param conn * @param pst */ public static void close(Connection conn, PreparedStatement pst) { try { if (pst != null) pst.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) try { myDataSource.free(conn); } catch (Exception e) { e.printStackTrace(); } } } }
发表评论
-
ServletContainerInitializer 初始化器
2016-08-24 14:29 5087概述 为了实现不通过web ... -
Tomcat 7.X 配置https
2014-11-10 11:47 484http://tomcat.apache.org/t ... -
Spring Data JPA 实例
2014-06-30 01:08 1911[url][/url] 1. Sping Data JPA 创 ... -
Spring 4.0.3+Hibernate4.3.5+Maven 配置文件
2014-06-21 09:43 2294<?xml version="1.0&qu ... -
JavaEE Filter和Listener 分析
2014-02-18 14:18 7711. Filter 使程序可以改变 ... -
Servlet 3.0 文件上传新特性
2014-02-15 21:55 504Servlet 3.0 实现了文件上传的功能,通过注解的方式指 ... -
ServletContext 与ServletConfig剖析
2014-02-15 20:44 6381. ServletContext 是一个全局的储存信息的空间 ... -
JavaMail Spring Mail支持
2014-02-15 15:54 7651. 普通的JavaMail 发送和接受邮件 public ... -
Java反射将Jdbc查询结果封装为对象
2014-01-19 10:24 1277public class ORMTest { pu ... -
Spring JdbcTemplate CRUD 操作
2014-01-11 12:12 927/** * Project Name:cjxy ... -
JavaEE 下载文件中文乱码兼容多浏览器
2013-12-11 11:02 500public static String encodeF ... -
Spring 3.2.* MVC通过Ajax获取JSON数据报406错误
2013-09-12 12:13 623Spring 3.2.* MVC通过Ajax获取JSON数据报 ... -
Spring SqlQuery 使用
2013-09-11 17:52 687/** * Project Name:webblog ... -
JavaEE pager-taglib 分页插件(2)
2013-08-12 17:56 423/** * Project Name:TestPag ... -
JavaEE pager-taglib 分页插件(1)
2013-08-12 16:47 1112pg:pager 这个标签用来 ... -
Web 安全与 过滤器
2013-06-03 16:51 7501. Servlet 安全的四大要 ... -
JSP学习笔记二
2013-06-03 15:36 7661. JSP 标准动作获取 Jav ... -
JSP学习笔记一
2013-05-24 16:26 7731. JSP 最终还是会变成一个完整的Servlet 在W ... -
Servlet学习笔记(二)
2013-05-23 17:30 6961. Servlet 的初始化参数 配置: < ... -
Servlet学习笔记(一)
2013-05-18 12:10 7801. MIME 类型是服务器对浏览器请求做出的反应类型。( ...
相关推荐
实现数据库的连接和释放
数据库连接池会在应用启动时预先创建一定数量的连接,当需要时直接提供,用完后归还而不是关闭,从而减少了数据库连接的创建和关闭次数。 总的来说,JDBC数据库连接工具类是Java开发中的一个重要组件,它封装了...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的核心功能包括连接池管理和自动管理数据库连接。它的主要优点是能够自动检测并修复失效的连接,同时提供了灵活的...
除了基本的配置,我们还可以根据需求添加更多的特性,例如配置SQL执行拦截器以实现更细粒度的控制,或者使用Druid提供的WebStatFilter和StatViewServlet来搭建一个简单的监控页面,实时查看数据库连接池的运行状态。...
JDBC连接池是一种优化数据库连接的方法,在传统的JDBC连接中,每次获得一个Connection连接都需要加载通过一些繁杂的代码去获取,这样繁杂的操作只为了获取一次连接,当然,我们可以将其封装成一个工具类来访问,但是...
在上述示例中,使用了C3P0连接池库来实现数据库连接池的功能。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。下面将详细解释这段代码的工作原理以及数据库连接池的相关...
JDBCUtils应用Durid连接池...
综上所述,这个压缩包提供的JavaBean自动生成工具和JDBC连接池封装工具,能够显著提升数据库驱动的Java应用的开发效率和性能,减少程序员的工作量,使得数据库操作更加便捷和高效。对于处理大量数据库操作的项目,...
1. **连接池管理**:通过集成像C3P0、HikariCP或Apache DBCP这样的连接池库,实现数据库连接的复用,避免频繁创建和销毁连接带来的性能开销。 2. **自动事务管理**:工具类可以提供自动开启、提交和回滚事务的功能...
在最近的一段时间开始学习java,所以在数据库连接的这一块就使用了JDBC没有使用框架,但是发现一个好的JDBC工具类也不是那么好写,把自己的记录下来以便以后学习和提高
一个jdbc连接数据库的工具类,简化代码书写,方便快捷
总的来说,"JDBCUtils.zip"提供的工具类和配置文件是Java项目中常见的数据库操作支持,通过Druid连接池的使用,可以在保证性能的同时,简化数据库连接的管理工作,提高代码的可维护性和可读性。开发者可以依据这个...
连接池会预先创建一定数量的数据库连接,供程序复用,避免了频繁创建和关闭连接的开销。 2. 使用try-with-resources:Java 7引入了try-with-resources语句,可以自动关闭资源,避免资源泄露。例如: ``` try ...
JDBCUtils可能依赖于额外的jar包,比如Apache Commons DBCP或C3P0,这些库提供了数据库连接池功能,能够高效管理数据库连接,避免频繁创建和销毁连接。 4. **Apache Commons DBCP**: 这是一个流行的数据库连接池...
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中, 这些数据库连接的数量是由最小数据库连接数来设定的.无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量.连接池的最大...
### JDBC 连接数据库实现增删改查操作详解 #### 一、引言 Java Database Connectivity (JDBC) 是 Java 开发者访问关系型数据库的标准方法。它为开发者提供了访问各种数据库的统一接口,使开发者能够用同样的方式...
在实际应用中,为了提高代码的可维护性和复用性,通常会封装一个工具类如`JDBCUtils`,提供连接池管理和数据库操作的通用方法。连接池如C3P0、HikariCP或Apache DBCP,可以有效管理数据库连接,减少资源消耗。 综上...
DBUtil是一个常用的数据库连接池工具类,它封装了JDBC的基本操作,如建立和关闭数据库连接,执行SQL语句等,以提高代码的可读性和复用性。在Java开发中,使用DBUtil可以避免频繁地创建和关闭数据库连接,从而提高...
利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查。其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口: 1、public Connection getConnection() 获得数据库的...
在Java编程领域,JDBC(Java Database Connectivity)是连接数据库的标准API,而JdbcUtils则是基于JDBC的一系列实用工具类,旨在简化数据库操作,提高代码的可读性和可维护性。本项目文件打包中,我们主要探讨...