/* * Copyright (C) 2013 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.jdbi.util; import com.intel.mtwilson.My; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Set; import javax.sql.DataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.commons.dbcp.BasicDataSource; /** * * @author jbuhacoff */ public class JdbcUtil { private static Logger log = LoggerFactory.getLogger(JdbcUtil.class); public static Connection conn = null; public static DataSource ds = null; public static DataSource getDataSource() { try { if (ds == null) { String driver = My.jdbc().driver(); String dbUrl = My.jdbc().url(); BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(driver); // or com.mysql.jdbc.Driver for mysql dataSource.setUrl(dbUrl); dataSource.setUsername(My.configuration().getDatabaseUsername()); dataSource.setPassword(My.configuration().getDatabasePassword()); ds = dataSource; } } catch (Exception ex) { log.error("Error connecting to the database. {}", ex.getMessage()); } return ds; } public static Connection getConnection() { try { if (conn == null) { conn = getDataSource().getConnection(); } return conn; } catch (Exception ex) { log.error("Error connection to the database. {}", ex.getMessage()); } return null; } /** * Does NOT close the result set. * * @param rs * @throws SQLException */ public static void describeResultSet(ResultSet rs) throws SQLException { int columns = rs.getMetaData().getColumnCount(); log.debug("Result set has {} columns", columns); for(int i=1; i<=columns; i++) { log.debug(String.format("Column: %s Data type: %s", rs.getMetaData().getColumnName(i), rs.getMetaData().getColumnTypeName(i))); } } }