Java tutorial
/* * SQL2.java * * Created Date: 201685 * * Copyright (c) Noah Technologies Co., Ltd. * * This software is the confidential and proprietary information of * Noah Technologies Co., Ltd. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in accordance * with the terms of the license agreement you entered into with * Noah Technologies Co., Ltd. */ package test.com.handle; import java.sql.Connection; import java.sql.SQLException; import java.util.List; import java.util.Map; import org.apache.commons.collections.MapUtils; import org.apache.commons.dbutils.BasicRowProcessor; import org.apache.commons.dbutils.BeanProcessor; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; /** * @author guoshuai * @version <br> * <p>??</p> */ public class DataSource { private static HikariDataSource ds; private static final QueryRunner runner = new QueryRunner(); static { //? HikariConfig config = new HikariConfig(); config.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // config.setDriverClassName("com.mysql.jdbc.Driver"); config.setJdbcUrl("jdbc:sqlserver://192.168.3.199:1433;DatabaseName=VRVEIS"); //config.setJdbcUrl("jdbc:mysql://192.168.3.199:3306/acess?user=root&password=ibm5c02e&useUnicode=true&characterEncoding=utf8"); config.setUsername("sa"); config.setPassword("noah,123"); config.addDataSourceProperty("cachePrepStmts", true); config.addDataSourceProperty("prepStmtCacheSize", 500); config.addDataSourceProperty("prepStmtCacheSqlLimit", 2048); config.setConnectionTestQuery("SELECT 1"); config.setAutoCommit(true); //?? config.setMinimumIdle(10); //? config.setMaximumPoolSize(50); ds = new HikariDataSource(config); } /** * ? */ public static void shutdown() { ds.close(); } public static <T> List<T> queryBeanList(Class<T> cls, Map<String, String> map, String sql, Object... params) throws SQLException { Connection conn = ds.getConnection(); List<T> result = null; try { if (MapUtils.isNotEmpty(map)) { result = runner.query(conn, sql, new BeanListHandler<T>(cls, new BasicRowProcessor(new BeanProcessor(map))), params); } else { result = runner.query(conn, sql, new BeanListHandler<T>(cls), params); } } catch (SQLException e) { e.printStackTrace(); } shutdown(); return result; } public static Connection getConnection() { try { return ds.getConnection(); } catch (SQLException e) { e.printStackTrace(); ds.resumePool(); return null; } } public static void main(String[] args) throws SQLException { System.out.println(getConnection()); //? } }