MySql是否支持Java SE应用程序的连接池?

时间:2010-07-12 12:46:38

标签: java mysql database-connection connection-pooling

从我阅读的示例和http://www.control.auc.dk/~04gr733/filer/javadoc-DB-driver/com/mysql/jdbc/jdbc2/optional/MysqlConnectionPoolDataSource.html上的MysqlConnectionPoolDataSource文档中可以看出,Java SE应用程序似乎无法使用连接池。这是真的?我可以使用连接池来为MySql工作吗?

PreparedStatement汇集是否也一样?

更新: 我从MySQL网站上看到了关于连接池的以下内容。

    /*
     * Create a JNDI Initial context to be able to
     *  lookup  the DataSource
     *
     * In production-level code, this should be cached as
     * an instance or static variable, as it can
     * be quite expensive to create a JNDI context.
     *
     * Note: This code only works when you are using servlets
     * or EJBs in a J2EE application server. If you are
     * using connection pooling in standalone Java code, you
     * will have to create/configure datasources using whatever
     * mechanisms your particular connection pooling library
     * provides.
     */

这就是让我了解如何使Java SE应用程序正确使用的方法。但重新阅读它,在我看来,他们正在参考您获取数据源引用的方式。我是否可以不使用依赖注入框架或手动为我的DAO对象插入数据源依赖?我试试看。

2 个答案:

答案 0 :(得分:2)

您可以使用某些第三方连接池进行JDBC,例如:
BoneCPC3P0DBCP

答案 1 :(得分:1)

MysqlConnectionPoolDataSource本身不会这样做,使用c3p0之类的东西,或者查看SDN on Connection Pooling处的示例。