一 源码下载
使用4.0.3版本
启动测试
修改toolchiain jdk为本地
<toolchains>
<toolchain>
<type>paths</type>
<provides>
<id>java</id>
</provides>
<configuration>
<paths>
<path>D:\Program Files\Java\jdk1.8.0_144\bin</path>
</paths>
</configuration>
</toolchain>
</toolchains>
删除 pom.xml 中 docker-maven-plugin 插件
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
控制台执行命令,跳过测试
mvn clean package '-Dmaven.test.skip=true' '-X' '-Dmaven.javadoc.skip=true'
经过以上步骤可正常执行测试代码
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setPoolName("HikariCP 连接池");
hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
hikariConfig.setJdbcUrl("jdbc:mysql://192.168.123.123:3306/test?characterEncoding=utf8");
hikariConfig.setUsername("root");
hikariConfig.setPassword("123456");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(10);
HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
Connection connection = null;
try {
connection = hikariDataSource.getConnection();
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery("select * from test");
//----------------------------------------------------------
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
HashMap<String, Object> rowData = new HashMap<>();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
Object[] array = list.toArray();
String string = Arrays.toString(array);
System.out.printf(string);
//----------------------------------------------------------
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//实际使用中一般是在应用启动时初始化数据源,应用从数据源中获取连接;并不会关闭数据源。
hikariDataSource.close();