개발환경 | |
Os | Windows 10 |
IDE | STS 3.9.6 |
Jdk | 1.8.0_172 |
Spring | 5.2.1.RELEASE |
DB | MsSql |
1. 프로젝트 생성
- Spring Legacy Project > Spring MVC project 생성 후 Java 버전을 1.8로 변경
2. Pom.xml 의존성추가
- mybatis, mybatis-spring, spring-jdbc, mssql-jdbc, spring-test
- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc
org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 4.3.18.RELEASE com.microsoft.sqlserver mssql-jdbc 6.4.0.jre8 test org.springframework spring-test ${org.springframework-version}
3. JUnit Test 생성 후 실행
- src/test/java 디렉토리에서 아래 화면처럼 JUnit Test Case 선택 후 java 파일생성
- com.microsoft.sqlserver.jdbc.SQLServerDriver 클래스를 이용하여 테스트를 진행
package com.spring.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test; public class MssqlTest { private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=home_DB"; private static final String USER = "hjlee"; //DB 사용자명 private static final String PW = "hjlee"; //DB 사용자 비밀번호 @Test public void testConnection() throws Exception{ Class.forName(DRIVER); //com.microsoft.sqlserver.jdbc.SQLServerDriver JDBC Driver class 로딩 Connection con = DriverManager.getConnection(URL, USER, PW); // java.sql.Connection 객체생성 try{ System.out.println(con); System.out.println(con.isClosed()); // connection 닫힘 유무 Statement stmt = con.createStatement(); // Statement 객체생성 String sql = "select user_id,user_name,user_password from user_tb"; // 쿼리문 ResultSet rs = stmt.executeQuery(sql); // while(rs.next()) { System.out.println(rs.getString("user_id")+"///"+rs.getString("user_name")+"///"+rs.getString("user_password")); } con.close(); System.out.println(con.isClosed()); }catch (Exception e) { e.printStackTrace(); }finally { con.close(); } } }
- 결과
4. Mybatis 설정
- 프로젝트 구조
- src/main/resource/properties >>> jdbc.properties(DB접속정보) 파일추가
- src/main/WEB-INF/spring >>> datasoruce-context.xml 추가
- web.xml 수정
contextConfigLocation /WEB-INF/spring/*-context.xml org.springframework.web.context.ContextLoaderListener appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml 1 appServlet /
5. JUnit Test 생성 후 실행
- src/test/java 디렉토리에서 아래 화면처럼 JUnit Test Case 선택 후 java 파일생성 후 실행
( SpringJUnit4ClassRunner requires JUnit 4.12 or higher 오류가 발생하면 POM.xml 에서 JUnit 버전을 4.12이상으로 올린후 다시 실행)
package com.spring.db; import javax.inject.Inject; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; 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/*.xml" }) public class MybatisTest { @Inject private SqlSessionFactory sqlFactory; @Test public void testFactory() { System.out.println(sqlFactory); } @Test public void testSession() throws Exception { try (SqlSession session = sqlFactory.openSession()) { System.out.println(session); } catch (Exception e) { e.printStackTrace(); } } }
- 결과
'Spring' 카테고리의 다른 글
Spring Data Redis 로 Redis 연동 (0) | 2022.09.20 |
---|---|
Intellij Spring boot Jmx RMI remote objects have benn exported (0) | 2022.09.13 |
Spring Security 구성하기(2) - 패턴구분 및 로그아웃 (0) | 2019.11.26 |
Spring Security 구성하기(1) (0) | 2019.11.26 |
Spring Boot + Maven 웹프로젝트 시작하기_ application.properties 설정 (0) | 2018.10.01 |
댓글