자바
JDBCUtil
chantleman
2024. 8. 26. 10:37
jdbc util 클래스를 이런 식으로 하게 되면
public class JDBCUtil {
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); //oracle driver 클래스 불러옴
System.out.println("클래스 로딩 성공");
}catch(Exception e)
{
e.printStackTrace();
}
}
public static Connection getConnection() {
try {
//127.0.0.1, 0:0:0:0:0:1, localhost
return DriverManager.getConnection("jdbc:oracle:thin:@localhost:8521/FREEPDB1","JAVA_","java");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
포트번호가 바뀔때마다 컴파일을 다시 해줘야합니다.
public class JDBCUtil2 {
static Properties prop;
static {
prop = new Properties();
try {
FileInputStream fis = new FileInputStream("res/db.properties");
prop.load(fis);
Class.forName(prop.getProperty("driver"));
System.out.println("드라이버 로딩 성공");
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
try {
return DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("user"),prop.getProperty("password"));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
<db.properties>
driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin@localhost:8521/FREEPDB1
user = JAVA_
password = java
properties파일(text file로)을 따로 분리해서 만듭니다.
(resource 폴더 만들고 거기에 설정 파일들을 모아둡니다.)
그럼 컴퓨터가 properties 파일을 읽고 자동으로 수정해줍니다.
<mybatis-config.xml>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="db.properties" />
<!--
POOLED : MyBatis 자체 DB 커넥션을 사용한다.
미리 DB 커넥션 객체를 생성해 두고 요청하면 즉시 반환한다.
데이터베이스 연결을 초기화하고 사용자를 인증하는 과정이 없기 때문에 속도가 빠르다.
-->
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
<!-- 활성화된 최대 커넥션 수 -->
<property name="poolMaximumActiveConnections" value="1"/>
<!-- 유휴상태에서의 최대 커넥션 수 -->
<property name="poolMaximumIdleConnections" value="1"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/member.xml" />
</mappers>
</configuration>
728x90