자바

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