요즘 하이버네이트3 프로그래밍(최범균 저)를 보고 있는데, 뭔소린지 잘 이해가 안가서 쉬어갈 겸-_-; 넷빈즈에서 스프링이랑 하이버네이트 연동하는 거 정리해서 올립니다-_-;

환경 : GlassFishV3 + SpringFramework 2.5 + Hibernate 3.2.5 + MySQL5.0 + Netbeans6.5

접근성을 높이기 위해(?) 소녀시대를 예제로 작성해봅시다. 멤버이름을 입력하면 멤버의 나이를 알려주는 웹애플리케이션을 만들어봅시다-_-;

Database
[code]CREATE TABLE `sosi` (
  `idx` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `age` int(10) unsigned NOT NULL,
  PRIMARY KEY (`idx`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

INSERT INTO `sosi` (`idx`,`name`,`age`) VALUES
 (1,'윤아',20),
 (2,'수영',20),
 (3,'효연',21),
 (4,'유리',21),
 (5,'태연',21),
 (6,'제시카',21),
 (7,'티파니',21),
 (8,'써니',21),
 (9,'서현',19);
[/code]

New Project -> Java Web -> Web Application -> Project Name : SosiAge -> Glass Fish V3으로 하구요 -> Spring Web MVC 2.5랑 Hibernate 3.2.5체크합니다.
Hibernate에서 DB를 설정해야하는데, New Database Connection해서 Name을 MySQL로 맞추고, 설정에 맞게 입력한 뒤, 추가한 것으로 선택한 뒤 Finish를 누른 뒤 완료합니다.

한글문제로 인한 web.xml파일에 아래 코드를 추가합니다.
web.xml
[code]<filter>
          <filter-name>Request Encoding</filter-name>
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
          <init-param>
               <param-name>encoding</param-name>
               <param-value>UTF-8</param-value>
          </init-param>
     </filter>
     <filter-mapping>
          <filter-name>Request Encoding</filter-name>
          <servlet-name>dispatcher</servlet-name>
     </filter-mapping>[/code]
hibernate를 사용하기 위한 필수작업인 session bean을 생성해야합니다.
applicationContext.xml
[code]<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
    </bean>[/code]
설정을 여기에 다 적고, datasource를 session에 di를 해도 상관없고, hibernate.cfg.xml파일에 설정해도 다 되더군요. 우선 기본적으로 hibernate.cfg.xml파일을 직접 만들어주니 configLocation설정해서 해봅시다.

하이버네이트 설정파일에서 SQL문을 직접볼 수 있는 옵션을 추가합시다.
Source Packages -> default package -> hibernate.cfg.xml파일을 열어봅니다.
design모드에서 Configuration Properties에서 add한 뒤, hibernate.show_sql값 true로 추가합니다. 쿼리를 직접보도록...-_-;

이제 뭐 셋팅이 끝났네요. 셋팅 끝나면 뭐 그냥 쓰기만 하면 됩니다-_-;
다음 장에서......
 
Posted by 머드초보

댓글을 달아 주세요