jdbc : DataSource ex
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package com.example.jdbc.connection;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.jdbc.datasource.DriverManagerDataSource;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import static com.example.jdbc.connection.ConnectionConst.*;
|
||||
|
||||
@Slf4j
|
||||
public class ConnectionTest {
|
||||
|
||||
@Test
|
||||
void driverManager() throws SQLException {
|
||||
Connection con1 = DriverManager.getConnection(URL, USERNAME, PASSWORD);
|
||||
Connection con2 = DriverManager.getConnection(URL, USERNAME, PASSWORD);
|
||||
|
||||
log.info("connection={}, class={}", con1, con1.getClass());
|
||||
log.info("connection={}, class={}", con2, con2.getClass());
|
||||
}
|
||||
|
||||
@Test
|
||||
void dataSourceDriverManager() throws SQLException {
|
||||
// DriverManagerDataSource - 항상 새로운 커넥션을 획득
|
||||
DriverManagerDataSource dataSource = new DriverManagerDataSource(URL, USERNAME, PASSWORD);
|
||||
useDataSource(dataSource);
|
||||
}
|
||||
|
||||
@Test
|
||||
void dataSourceConnectionPool() throws SQLException, InterruptedException {
|
||||
// 커넥션 풀링
|
||||
HikariDataSource dataSource = new HikariDataSource();
|
||||
dataSource.setJdbcUrl(URL);
|
||||
dataSource.setUsername(USERNAME);
|
||||
dataSource.setPassword(PASSWORD);
|
||||
dataSource.setMaximumPoolSize(10);
|
||||
dataSource.setPoolName("MyPool");
|
||||
|
||||
useDataSource(dataSource);
|
||||
Thread.sleep(1000);
|
||||
}
|
||||
|
||||
private void useDataSource(DataSource dataSource) throws SQLException {
|
||||
Connection con1 = dataSource.getConnection();
|
||||
Connection con2 = dataSource.getConnection();
|
||||
|
||||
log.info("connection={}, class={}", con1, con1.getClass());
|
||||
log.info("connection={}, class={}", con2, con2.getClass());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user