All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jaeksoft.pojodbc.connection.JDBCConnection Maven / Gradle / Ivy

Go to download

OpenSearchServer is a powerful, enterprise-class, search engine program. Using the web user interface, the crawlers (web, file, database, ...) and the REST/RESTFul API you will be able to integrate quickly and easily advanced full-text search capabilities in your application. OpenSearchServer runs on Windows and Linux/Unix/BSD.

There is a newer version: 1.5.14
Show newest version
/**   
 * License Agreement for OpenSearchServer Pojodbc
 *
 * Copyright 2008-2013 Emmanuel Keller / Jaeksoft
 * Copyright 2014-2015 OpenSearchServer Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.jaeksoft.pojodbc.connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;

import com.jaeksoft.pojodbc.Transaction;

/**
 * A connection manager getting database connection from an JDBC url.
 * 

* Take care to set driver and url parameters before using getNewTransaction * method. *

*

* That example show how create an instance of a JDBCConnection using a MySQL * database. *

* *
 * JDBCConnection connectionManager = new JDBCConnection();
 * connectionManager.setDriver("com.mysql.jdbc.Driver");
 * connectionManager.setUrl("jdbc:mysql://localhost:3306/dbName?autoReconnect=true");
 * 
* */ public class JDBCConnection extends ConnectionManager { private String url; private String driver; private String username; private String password; /** * The empty constructor. Used for bean compatibility. Parameters can be * passed using setters. */ public JDBCConnection() { url = null; driver = null; } /** * * @param driver * The driver class name * @param url * The url used to connect to database * @throws ClassNotFoundException * if the class of the driver cannot be found * @throws IllegalAccessException * in case of any illegal access * @throws InstantiationException * if the driver cannot be constructed */ public JDBCConnection(String driver, String url) throws InstantiationException, IllegalAccessException, ClassNotFoundException { setDriver(driver); setUrl(url); } public String getDriver() { return driver; } public void setDriver(String driver) throws InstantiationException, IllegalAccessException, ClassNotFoundException { if (logger.isLoggable(Level.FINEST)) logger.finest("New Database instance - Driver: " + driver + " Url: " + url); if (driver != null) Class.forName(driver).newInstance(); this.driver = driver; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; } @Override public Transaction getNewTransaction(boolean autoCommit, Integer transactionIsolation) throws SQLException { return getNewTransaction(autoCommit, transactionIsolation, null); } /** * Get a new Transaction instance. You can add a suffix on the url used to * establish the database connection. * * @param autoCommit * set to true to enable auto-commit * @param transactionIsolation * choose the right isolation level * @param urlSuffix * A suffix added to the url when establishing the database * connection * @return a new Transaction instance * @throws SQLException * if any JDBC error occurs */ public Transaction getNewTransaction(boolean autoCommit, Integer transactionIsolation, String urlSuffix) throws SQLException { String localUrl = url; if (urlSuffix != null) localUrl += urlSuffix; if (logger.isLoggable(Level.FINEST)) logger.finest("DriverManager.getConnection " + localUrl); Connection cnx = null; if (username != null || password != null) cnx = DriverManager.getConnection(localUrl, username, password); else cnx = DriverManager.getConnection(localUrl); if (transactionIsolation != null) cnx.setTransactionIsolation(transactionIsolation); cnx.setAutoCommit(autoCommit); return new Transaction(cnx, autoCommit, transactionIsolation); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy