final version (#1867)
This commit is contained in:
parent
3f22a70bb3
commit
74d4c4f72c
|
@ -265,9 +265,9 @@
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.postgresql</groupId>
|
<groupId>com.h2database</groupId>
|
||||||
<artifactId>postgresql</artifactId>
|
<artifactId>h2</artifactId>
|
||||||
<version>42.0.0</version>
|
<version>1.4.195</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<properties>
|
<properties>
|
||||||
|
|
|
@ -1,44 +1,42 @@
|
||||||
package com.baeldung.hikaricp;
|
package com.baeldung.hikaricp;
|
||||||
|
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
import com.zaxxer.hikari.HikariConfig;
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
|
|
||||||
public class DataSource {
|
public class DataSource {
|
||||||
|
|
||||||
private static HikariConfig config = new HikariConfig();
|
private static HikariConfig config = new HikariConfig();
|
||||||
private static HikariDataSource ds;
|
private static HikariDataSource ds;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
/* config = new HikariConfig("datasource.properties");
|
// config = new HikariConfig("datasource.properties");
|
||||||
|
|
||||||
Properties props = new Properties();
|
// Properties props = new Properties();
|
||||||
props.setProperty("dataSourceClassName", "org.postgresql.ds.PGSimpleDataSource");
|
// props.setProperty("dataSourceClassName", "org.h2.Driver");
|
||||||
props.setProperty("dataSource.user", "postgres");
|
// props.setProperty("dataSource.user", "");
|
||||||
props.setProperty("dataSource.password", "postgres");
|
// props.setProperty("dataSource.password", "");
|
||||||
props.setProperty("dataSource.databaseName", "postgres");
|
// props.put("dataSource.logWriter", new PrintWriter(System.out));
|
||||||
props.setProperty("dataSource.portNumber", "5432");
|
// config = new HikariConfig(props);
|
||||||
props.setProperty("dataSource.serverName", "localhost");
|
|
||||||
props.put("dataSource.logWriter", new PrintWriter(System.out));
|
|
||||||
config = new HikariConfig(props);*/
|
|
||||||
|
|
||||||
config.setJdbcUrl("jdbc:postgresql://localhost:5432/postgres");
|
config.setJdbcUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;INIT=runscript from 'classpath:/db.sql'");
|
||||||
config.setUsername("postgres");
|
config.setUsername("");
|
||||||
config.setPassword("postgres");
|
config.setPassword("");
|
||||||
config.addDataSourceProperty("cachePrepStmts", "true");
|
config.addDataSourceProperty("cachePrepStmts", "true");
|
||||||
config.addDataSourceProperty("prepStmtCacheSize", "250");
|
config.addDataSourceProperty("prepStmtCacheSize", "250");
|
||||||
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
|
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
|
||||||
ds = new HikariDataSource(config);
|
ds = new HikariDataSource(config);
|
||||||
|
|
||||||
/* ds.setJdbcUrl("jdbc:postgresql://localhost:5432/postgres");
|
// ds.setJdbcUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;INIT=runscript from 'classpath:/db.sql'");
|
||||||
ds.setUsername("postgres");
|
// ds.setUsername("");
|
||||||
ds.setPassword("postgres");*/
|
// ds.setPassword("");
|
||||||
}
|
}
|
||||||
|
|
||||||
private DataSource() {
|
private DataSource() {}
|
||||||
}
|
|
||||||
|
|
||||||
public static Connection getConnection() throws SQLException {
|
public static Connection getConnection() throws SQLException {
|
||||||
return ds.getConnection();
|
return ds.getConnection();
|
||||||
|
|
|
@ -9,11 +9,13 @@ import java.util.List;
|
||||||
|
|
||||||
public class HikariCPDemo {
|
public class HikariCPDemo {
|
||||||
|
|
||||||
public static List<Employee> fetchData() throws SQLException {
|
public static List<Employee> fetchData() {
|
||||||
final String SQL_QUERY = "select * from emp";
|
final String SQL_QUERY = "select * from emp";
|
||||||
List<Employee> employees;
|
List<Employee> employees = null;
|
||||||
try (Connection con = DataSource.getConnection(); PreparedStatement pst = con.prepareStatement(SQL_QUERY); ResultSet rs = pst.executeQuery()) {
|
try (Connection con = DataSource.getConnection();
|
||||||
employees = new ArrayList<>();
|
PreparedStatement pst = con.prepareStatement(SQL_QUERY);
|
||||||
|
ResultSet rs = pst.executeQuery();) {
|
||||||
|
employees = new ArrayList<Employee>();
|
||||||
Employee employee;
|
Employee employee;
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
employee = new Employee();
|
employee = new Employee();
|
||||||
|
@ -27,8 +29,14 @@ public class HikariCPDemo {
|
||||||
employee.setDeptno(rs.getInt("deptno"));
|
employee.setDeptno(rs.getInt("deptno"));
|
||||||
employees.add(employee);
|
employees.add(employee);
|
||||||
}
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return employees;
|
return employees;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
fetchData();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -2,17 +2,14 @@ package com.baeldung.hikaricp;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import java.sql.SQLException;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
public class HikariCPUnitTest {
|
public class HikariCPUnitTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
public void givenConnection_thenFetchDbData() {
|
||||||
public void givenConnection_thenFetchDbData() throws SQLException {
|
|
||||||
List<Employee> employees = HikariCPDemo.fetchData();
|
List<Employee> employees = HikariCPDemo.fetchData();
|
||||||
assertEquals(4, employees.size());
|
assertEquals(4, employees.size());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue