spring + mybatis 게시판

개발환경

Eclipse Neon

JDK 8

Tomcat 8.5

이클립스에서 STS 3.8.4 설치

이클립스에서 git 사용

egit 설치

perspective > git 추가

프로젝트 우클릭 > Team > Share Project > Create > 프로젝트 폴더 경로와 다르게 선택 후 Finish

커밋

?가 표시된 파일은 추적 중이 아닌 파일이다

프로젝트 우클릭 > Team > Commit 으로 커밋 가

이클립스 + 깃랩

https://www.slideshare.net/sokngimlasy/add-eclipse-project-with-git-lab

Spring Legacy Project

project properties > project facets > java version 1.8

@Controller
public class HomeController {

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        logger.info("Welcome home! The client locale is {}.", locale);

        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);

        String formattedDate = dateFormat.format(date);

        model.addAttribute("serverTime", formattedDate );

        return "home";
    }

}

@RequestMapping - 클라이언트에서 들어온 요청에 해당하는 비즈니스 로직을 찾아줌

리턴값은 서블릿 설정으로 인해 /WEB-INF/views/리턴값.jsp 가 된다.

    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

model.addAttribute(); 는 수행한 결과를 화면으로 보내주기 위한 부분이다.

<P>  The time on the server is ${serverTime}. </P>

출처 : http://blog.daum.net/gunsu0j/165

마이바티스 연동

mybatis-x.x.x.jar 파일을 클래스패스에 두거나 메이븐을 사용한다면 pom.xml에 아래 추가

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.4</version>
</dependency>

연동모듈

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-spring</artifactId>
  <version>1.3.0</version>
</dependency>

스프링에서 JDBC 를 사용하기 위한 라이브러리

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>

커넥션 풀을 위한 라이브러리

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>2.1</version>
        </dependency>

Oracle 추가 (ojdbc14 = jdk1.4, ojdbc6 = jdk1.6)

  • 로컬에 ojdbc7.jar 설치해서 추가
        <dependency>
            <groupId>oracle.jdbc</groupId>
            <artifactId>OracleDriver</artifactId>
            <version>12.1.0.2.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc7.jar</systemPath>
        </dependency>

스프링 루트 컨텍스트에 설정 추가 (commons-dbcp 1버전이면 아래에서 dbcp.Basic...)

        <!-- 데이터베이스 연결 -->
        <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
            <property name="url" value="jdbc:oracle:thin:@117.52.91.94:xe" />
            <property name="username" value="newbie" />
            <property name="password" value="newbie2017" />
        </bean>

        <!-- SqlSession -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />

        <!-- MyBatis 설정 파일의 위치를 지정합니다. -->
        <property name="configLocation" value="classpath:/mybatis-config.xml" />

        <!-- SQL 파일의 위치를 지정합니다. -->
        <property name="mapperLocations" value="classpath:/sqlmap/*.xml" />
    </bean>

    <!-- SqlSession -->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"
        destroy-method="clearCache">
        <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>

    <!-- 트랜잭션 매니저 bean 을 등록합니다. -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!-- 아노테이션 기반의 트랜잭션을 사용합니다. -->
    <tx:annotation-driven transaction-manager="transactionManager" />

참고 : http://pentode.tistory.com/69

results matching ""

    No results matching ""