-
9. JDBC 설정Back-end Developer/Spring Framework, 설정 및 실습 2018. 12. 28. 18:11
이번 포스팅은 조금 늦었죠 ^____^; 아... 사랑니 빼고왔어요.
진짜 정신 빠질뻔했어요. ㅎㅎㅎ 근심하나 덜었으니 더 열심히 공부하려구요. 후후
본론으로 넘어가서,
저번주에 했던건 workbench 또는 Terminal(cmd)에서 DB 테이블 생성 및 데이터 관리하는 방법을 해봤어요.
근데 우리는 실제 프로젝트에서 DB 쿼리문을 통해서 데이터 관리를 해야하잖아요.
그래서 오늘은 JDBC를 사용 할 수 있도록 여러가지 설정을 해볼게요.
JDBC(Java DataBase Connectivity) ?
자바에서 제공하는 표준 Interface API 입니다.
JDBC driver(구현체)를 통해 작업이 이루어집니다.
Library
JDBC driver: mysql-connector-java
구현체
Data source: commons-dbcp (apache)
connection parameter 설정, connection pool 제공
JDBC class: spring-jdbc
프로젝트 생성
Database 관련 설정을 위해 새로운 Spring Legacy Project를 하나 생성해주세요.
저는 이름을 'helloDB', 그리고 'maven project' 선택했습니다.
Version 변경 및 Library 추가
pom.xml 파일에 가서 Library 추가 해볼게요.
그 전에 자바버전 1.6 -> 1.8로 변경하고 저장!
다음으로 Dependencies 탭에서 아까 말했던 위의 3 Library 추가해봅시다.
add를 통해 추가해주시구요. 저장하면 다운로드 됩니다.
다운로드가 완료되면 Maven dependency에서 확인 가능해요!!
색칠이 왜 이렇게 힘든지 ㅎㅎ
금주로 손 떨림이 엄청나네요(?)여기서 다시 저장 한번하고 넘어갑시다.
이렇게 생성된 Library에서 apache dbcp에 포함된 BasicDataSource class를 활용 할 예정입니다.
Bean 생성
src/main/java 경로에 새로운 package 하나 생성해주세요. 경로(이름)은 'kr.ac.snut.spring.csemall'로 잡으세요.
그리고 이 package 내부에 다시 beans package를 생성해주세요.
beans package에 new -> other -> Spring bean configuration file 'beans.xml'로 추가
그리고 DataSource class에 해당하는 코드를 붙여주세요.
1234567891011121314<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></bean></beans>cs 검색하셔도 되고, 아니면 제 코드 그대로 따라 치시면 됩니다.
코드에 '${}'로 적힌 것들은 place holder라고 합니다.
해당 값을 일일이 하나씩 지정해주다보면 코드가 너무 길어지겠지요...?
그래서 외부에서 어떤 데이터가 들어오게되면, 그 값을 그대로 받아서 적용하기위한 변수같은 기능을 합니다.
Properties 생성 및 설정
place holder를 그냥 냅두면 놀겠죠?
이 친구들한테 돈은 안줘도 일은 해야하니 값을 넣어주기위해서 property를 생성해 볼게요.
src/main/java 파일에 package 하나 생성해주세요. 이름(경로)은 'kr.ac.snut.spring.props'로 지정했어요.
이 package에서 new -> other -> general -> file 생성 이름은 jdbc.properties 라고 할게요.
1234jdbc.username = rootjdbc.password = passwordjdbc.driverClassName = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql://localhost:hostNumber/csemallcs ※ 주의!!
실제 프로젝트를 하는 경우엔 비밀번호 노출이 되면 안될테니까,
git 등에 commit 하실 땐 미리 gitignore 파일을 통해 제외시켜주세요.
properties 파일을 생성했는데, 우린 알아도 JDBC는 아직 모릅니다. 따라서 JDBC에게 알려주세요.
beans.xml에서 namespace 탭에서 context 클릭해서 활성화 시켜주세요.
context에서 beans 오른쪽 마우스 클릭해서 place holder 추가해주세요.
우측에 새로 뜬 창에서 location 지정해주시고 저장하면 됩니다.
location 지정
지정 후 변경된 코드
123456789101112131415161718<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></bean><context:property-placeholderlocation="/kr/ac/snut/spring/props/jdbc.properties " /></beans>cs 설정 끗끗!!! ^___^/
반응형'Back-end Developer > Spring Framework, 설정 및 실습' 카테고리의 다른 글
11. Query문을 통한 CRUD 구현 (2) 2019.01.07 10. Query 문을 이용한 Data Access (0) 2018.12.31 8. MySQL workbench 활용. (0) 2018.12.21 7. AOP (Aspect Oriented Programming: 관점 지향 프로그래밍) (0) 2018.12.19 6. Annotation으로 의존성 주입하기 (0) 2018.12.16