본문 바로가기

logs/_09sio

170610/ MySql, Mybatis 연결하기 (실패

어제 hosting_index.html 파일을 수정하고 서버에 반영되는것을 확인했으므로 오늘은 내가 원하는 개발환경 세팅을 시작했다.


먼저 Remote System Explorer를 이용하면 서버에 바로 반영이 되고 편하지만 터미널을 통해 명령어로 컴파일을 해줘야 했는데,

내 pc user이름이 계정이름과 달라서 그런지 모르겠지만 터미널로 로그인이 안되었다 ...

그리고 web.xml도 그렇고 바꿀때마다 터미널을 통해서 새로 올려줘야한다고 해서 불편할 것 같기도 하고 그냥 일반 프로젝트를 만들고 FTP를 이용해서 업로드 하는 방식을 이용하기로 했다.






<프로젝트 만들기>

STS에서 new > Spring Legacy Project > Project name 입력 후 Templates는 Spring MVC Project 선택

프로젝트 우클릭 > Configure > Convert to Maven Project



<Tomcat 서버>

Tomcat 홈페이지에서 Tomcat 7.0 zip파일을 다운로드 받음 > STS에서 new server > Tomcat 7.0 선택 후 Directory는 Tomcat 7.0 폴더명까지



<MySql, Mybais 추가>

cafe24 > 나의 서비스 관리 > 서비스 사용 현황 > MySql 외부 Ip 접근 설정

Maven을 이용하기위에 pom.xml에 아래 소스를 추가

<!-- MySql -->

<dependency>

<groupId>mysql</groupId>

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

<version>5.1.1</version>

</dependency>

<!-- MyBatis -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.2.2</version>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.2.0</version>

</dependency>

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-jdbc</artifactId>

    <version>${org.springframework-version}</version>

</dependency>

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-test</artifactId>

    <version>${org.springframework-version}</version>

</dependency>





root-context.xml 파일

하단의 namespace를 클릭 > aop, beans, context, jdbc, mybatis-spring 선택하면 아래 소스에 자동으로 추가된다.


이후 <bean id ="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"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:jdbc="http://www.springframework.org/schema/jdbc"

xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"

xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd

http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">

<!-- Root Context: defines shared resources visible to all other web components -->

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

<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>

<!-- com.mysql.jdbc.Driver // com.mysql.cj.jdbc.Driver -->

<property name="url" value="jdbc:mysql://localhost:포트"></property>

<property name="username" value="계정명"></property>

<property name="password" value="비밀번호"></property>

</bean>

</beans>



test하기위하여 src/test/java 안에 DataSourceTest.java 파일을 아래와 같이 만들었다.


package com.mapo.myybean;


import java.sql.Connection;


import javax.inject.Inject;

import javax.sql.DataSource;


import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations=("file:src/main/webapp/WEB-INF/spring/**/root-context.xml"))

public class DataSourceTest {


@Inject

private DataSource ds;

@Test

public void testConnection() throws Exception {

try (Connection conn = ds.getConnection()) {

System.out.println(conn);

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub


}


}



우클릭 > Run as > Unit Test


결론은 Connection refused... 뜨든

소스를 서버에 업로드 해서 테스트해도 안뜬다.

아예 에러페이지(403 Forbidden)가 떠버림..


그런데 내가 FileZilla를 통해서 업로드 하는 부분은 webpp 하단에 있는 WEB-INF 안 폴더들인데,

그럼 서버에 내 jar 파일들은 어디에 넣는건지 모르겠다........ 내일모레 찾아봐야지..


그리고 서버 디비 연결하는 주소도 잘못된거같다 ㅠㅠ




반응형