/* * [ConnectJDBCMySQLPooling.java] * * Summary: Demonstrate the how to connect to a MySQL Server Database with JBDC and connection pooling. * * Copyright: (c) 2007-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 1.0 2007-09-17 */ package com.mindprod.example; import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolingDataSource; import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool; import java.sql.Connection; import java.sql.SQLException; /** * Demonstrate the how to connect to a MySQL Server Database with JBDC and connection pooling. * * @author Roedy Green, Canadian Mind Products * @version 1.0 2007-09-17 * @since 2007-09-17 */ public class ConnectJDBCMySQLPooling { /** * which database */ private static final String DATABASENAME = "squirrels"; /** * access PASSWORD */ private static final String PASSWORD = "sesame"; /** * login name of user */ private static final String USERNAME = "charlie"; /** * The connection. Handle to the database */ private static Connection conn; /** * connect to the database */ private static Connection connect() throws SQLException { // get JDBC connection to MySQL database from a connection pool. // Jar containing the Connector/J JDBC driver: mysql-connector-java-5.1.15-bin.jar must be downloaded and // placed on the classpath. // You must also have tomcat-dbcp.jar on the classpath. // You must configure to allow external TCP/IP connections or else localhost won't work either. final GenericObjectPool cp = new GenericObjectPool( null ); final DriverManagerConnectionFactory dmcf = new DriverManagerConnectionFactory( "jdbc:mysql://localhost/" + DATABASENAME, USERNAME, PASSWORD ); final PoolableConnectionFactory pcf = new PoolableConnectionFactory( dmcf, cp, null, null, false, true ); // pcf is not used??? final PoolingDataSource ds = new PoolingDataSource( cp ); return ds.getConnection(); } /** * initialise the database * * @param args not used */ public static void main( String[] args ) throws SQLException { conn = connect(); // ... conn.close(); } }