'Spring'에 해당되는 글 33건

  1. 2014.07.31 resultMap을 사용한 Mybatis 예제
  2. 2014.07.29 Spring MyBatis 연동 예제
  3. 2014.07.29 Spring-Maven 기본: 프로젝트 생성

간단한 SQL의 경우 Vo를 바로 return하면 되지만,

복잡한 return형식이 필요할 경우 resultMap을 사용하는 게 편리하다. 


resultMap을 사용해서 데이타를 가져오는 경우

java코드는 100%동일하게 사용하고

mapper xml만 바꿔서 resultMap을 이용하는 예제로 만들어 보면 다음과 같다.


( 이전 글 예제에서 변경되는 부분만 기술 )



4.  UserMapper.xml 에서 resultMap을 사용하도록만 설정.


    <mapper namespace="my.UserMapper">

<resultMap id="userMap" type="my.UserVo">      //UserVo가 실질적인 return type이 됨.

        <id     property="username"    column="username" />

        <result property="age"     column="age" />

      </resultMap>

 

      <select id="user" resultMap="userMap">              //위에서 정의한 userMap을 지칭.

        SELECT  username,age

        FROM    user

        WHERE   username=#{name}

      </select>

    </mapper>




5. VO안에 또 객체가 있다던지 하는 복잡한 경우는 associationcollection으로 해결.  REF

   그리고, 어떤 값에 따라 다른  SQL을 실행할 수 있는 discriminator가 있다.

Posted by yongary
,


1.pom.xml 에 mybatis 추가. (jdbc와 mysql도 추가)

               

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.2.4</version>

</dependency>


<dependency>

  <groupId>org.mybatis</groupId>

  <artifactId>mybatis-spring</artifactId>

  <version>1.2.2</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>3.2.4.RELEASE</version>

</dependency>


<dependency>

 <groupId>mysql</groupId>

 <artifactId>mysql-connector-java</artifactId>

 <version>5.0.8</version>

</dependency>




2. application-config.xml 에 dataSource추가 


    <context:annotation-config /> 
    <context:component-scan base-package="my"/> 

   

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/test" />
        <property name="username" value="root" />
        <property name="password" value="0000" />

    </bean>

    

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <property name="dataSource" ref="dataSource" />
        <property name="mapperLocations" value="classpath:my/*.xml" />
</bean>


    <!--For MapperScan   <mybatis:scan base-package="my" />  스캔방식이 아직 동작안하는 듯 -->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="my"/>
   </bean>




3.  User table 접근을 위한 UserVo.java와 UserMapper.java

   

public class UserVo {

private String username;

private Integer age;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

}






public  interface UserMapper {
//public int getManCount();
UserVo getUser(String name);
}



4.  UserMapper.xml 을 resources 밑에 my 밑에 추가


    <mapper namespace="my.UserMapper">

    <select id="getUser" resultType="my.UserVo">

        SELECT  username,age

        FROM    user

        WHERE   username=#{name}

    </select>

</mapper>



5. TestService.java


@Service

public class TestService implements ITestService{


@Resource

private UserMapper userMapper;

public UserVo getUser(String name){

return userMapper.getUser(name);

}

}



Posted by yongary
,

J2EE가 짜증스러웠다고나 할까~ 오랫동안 java 서버개발쪽은 피해 다녔었다.  

근래에 보니 spring이 struts를 완전히 누르고 java framework으로 자리를 확실히 잡은 것 같고

DB연동도 mybatis가 일단 대세를 이루는 것으로 분위기를 파악하고 다시 java 서버쪽에 관심을 가지기로 했다.


<기본 스텝>

0. Eclispe EE버전 설치.  

1. Eclipse -> help-> marketplace에서 find: spring STS(Spring Tool Suite)  검색해서 설치.

2. Tomcat설치 및 Eclipse연동은  이 분의 글 참조:  http://h5bak.tistory.com/136 (tomcat은 7.0x정도로 설치 요망. 현재 tomcat 8.x는 eclipse plugin이 필요한 듯)


3. 프로젝트 생성

new -> other 의 spring 밑에 Spring Project 를 선택한 후,

simple spring-web-maven Project를 선택함.

--> pom.xml 이 자동으로 생성됨. [eclipse Neon에서는 Spring Legacy Project -> Simple Spring Web Maven 임]

( 단, NONE-WEB project일 경우에는 Simple Spring Maven 정도 선택하고

main에서 ClassPathXmlApplicationContext 를 이용함.)



4. new->other->spring   bean configuration File.  add.해서 DI(IOC) 코딩.

  파일명은 application-config.xml 로 하고 (bean, context 최상위꺼 하나씩 필수 선택)

   src/main/resources/spring/application-config.xml 인데.. eclipse neon에서는 자동 생성이 됨.





Posted by yongary
,