자바 웹 프로그래밍

준비중..

자바 웹 프로그래밍

나만의 웹사이트를 만들어 보자!

x14 데이터베이스 연동하기

# 데이터베이스 연동하기 JDBC 라이브러리를 사용하면, 자바로 다양한 DBMS와 연동할 수 있어. myBatis 라이브러리까지 사용한다면 매우 편리하게 SQL을 사용할 수 있지. ## 목표 데이터베이스 활용을 할 수있도록 환경설정을 한다. ## 목차 1. 라이브러리 등록(pom.xml) 2. JDBC, PostgreSQL 설정 - root-context.xml - jdbc.properties - database 생성 3. myBatis 설정 - root-context.xml - mybatis-config.xml ## 라이브러리 등록 스프링MVC의 라이브러리 관리는 **pom.xml** 사용해. 데이터베이스 사용을 위해 아래의 라이브러리를 등록하도록 하자. 파일 검색(Ctrl + Shift + R)을 통해 파일을 찾자. 그 다음, 스프링 버전을 올려주고, ``` // 처음에는 3.1.1 일거임. <org.springframework-version>4.3.2.RELEASE</org.springframework-version> ``` `<dependencies>...</dependencies>` 사이에 아래 코드 추가하자. ``` <!-- PostgreSQL 9.4 --> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4.1209.jre6</version> </dependency> <!-- MyBatis 3.4 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <!-- MyBatis-Spring 1.3--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- Spring-JDBC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework-version}</version> </dependency> ``` 설정을 추가하면 Maven Dependencies에 자동으로 다운이 돼. ![](https://i.imgur.com/oPwvvey.png) 설정파일(*.xml) 변경시 서버를 재시작해서 잘 동작하는지 확인하는 것 잊지 말고. ## JDBC, PostgreSQL 설정 JDBC를 사용하면 다양한 DBMS를 사용할 수 있어. 우리는 PostgreSQL을 사용할 거야. ### root-context.xml 라이브러리를 실제로 사용하려면 객체를 생성해야해. **root-context.xml**에 `dataSource` 객체를 등록하자. ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> <!-- properties --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations" value="classpath:/jdbc.properties" /> <property name="fileEncoding" value="UTF-8" /> </bean> <!-- JDBC-PostgreSQL --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <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> ``` ### jdbc.properties 다음으로 jdbc.properties 파일을 만들자. 중괄호 표시부분은 자신의 데이터베이스에 맞게 변경해줘. src/main/resources/jdbc.properties ``` jdbc.driverClassName=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost:5432/{databaseName} jdbc.username={username} jdbc.password={password} ``` ### database 생성 pgAdminIII을 실행해서 위에서 작성한 데이터베이스를 생성하자. ``` CREATE DATABASE {databaseName}; ``` 서버를 재시작해서 헬로월드가 뜨면 성공! ## myBatis 설정 SQL을 쉽게 사용하기위해 myBatis를 설정하자. ### root-context.xml 라이브러리를 사용하려면 객체를 등록해야지? 아래 코드를 `dataSource` 밑에 추가하자. ``` <!-- MyBatis-Spring --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis-config.xml" /> <property name="dataSource" ref="dataSource" /> </bean> ``` ### mybatis-config.xml 다음으로 myBatis 설정파일을 만들어야해. src/main/resources/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> <!-- <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="org.postgresql.Driver" /> <property name="url" value="jdbc:postgresql://localhost:5432/spring" /> <property name="username" value="postgres" /> <property name="password" value="postgres" /> </dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/BlogMapper.xml" /> </mappers> --> </configuration> ``` 위 코드는 딱히 설정이 없어. 추후 필요하면 변경하면 돼. 설정을 마쳤으면 서버를 재시작해서 확인해보자. ## 레퍼런스 + http://www.mybatis.org/spring/getting-started.html + http://www.mybatis.org/mybatis-3/getting-started.html