728x90
반응형
SMALL
1. pom.xml
필요한 dependency 설정 (jdbc, mybatis, mysql-connector)
2. application.properties
3. DTO/VO Class 생성
4. member.xml src/main/resources 아래에 mapper 폴더를 만들고 member.xml 파일을 만든다.
5. Mapper Interface Dao, Repo 등의 이름을 많이 사용했는데 Spring Boot 에서는 Mapper 라는 이름을 많이 사용하는 듯 하다.
6. DatabaseConfig mybatis 에서 DTO/VO Class를 type-alias 로 쉽게 사용하기 위해 @Alias 를 scan 할 package 와 mapper.xml 들의 위치를 설정해 주면 된다.
7. Test
8. 결과 - 성공
...org.springframework.boot spring-boot-starter-jdbc org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 ... mysql mysql-connector-java runtime
2. application.properties
spring.datasource.url=jdbc:mysql://IP:PORT/test?useUnicode=true&zeroDateTimeBehavior=convertToNull&characterEncoding=utf8 spring.datasource.username=아이디 spring.datasource.password=비밀번호 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3. DTO/VO Class 생성
@Alias("member") @Getter @Setter public class Member { private int idx; private String id; private String name; private String pw; @Override public String toString() { return new StringBuilder("{ idx : ").append(idx).append(", id : ").append(id).append(", name : ").append(name).append(" }").toString(); } }
4. member.xml src/main/resources 아래에 mapper 폴더를 만들고 member.xml 파일을 만든다.
INSERT INTO test.members (idx, id, name, pw) VALUES(#{idx}, #{id}, #{name}, #{pw}) DELETE FROM test.member WHERE idx = #{idx}
5. Mapper Interface Dao, Repo 등의 이름을 많이 사용했는데 Spring Boot 에서는 Mapper 라는 이름을 많이 사용하는 듯 하다.
@Mapper @Repository public interface MemberMapper { ListgetMemberList(); Member getMember(Member member); void insertMember(Member member); void deleteMember(Member member); }
6. DatabaseConfig mybatis 에서 DTO/VO Class를 type-alias 로 쉽게 사용하기 위해 @Alias 를 scan 할 package 와 mapper.xml 들의 위치를 설정해 주면 된다.
@Configuration public class DatabaseConfig { @Bean public SqlSessionFactory sqlSessionFactory(DataSource datasource) throws Exception { SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean(); sqlSessionFactory.setDataSource(datasource); sqlSessionFactory.setTypeAliasesPackage("com.yhkim.study"); sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/mapper/*.xml")); return sqlSessionFactory.getObject(); } @Bean public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
7. Test
@SpringBootTest() @RunWith(SpringRunner.class) @Transactional public class MemberServiceTest { @Autowired MemberMapper mapper; @Test public void getMemberList() { Listlist = mapper.getMemberList(); for (Member member : list) { System.out.println("=====>"+member); } } }
8. 결과 - 성공
source code : https://github.com/kimyounghoi/springboot/tree/master/firstproject
728x90
반응형
LIST
'IT > Spring' 카테고리의 다른 글
Spring Boot - Context Path 설정 & Vue.js & Bootstrap 으로 화면 구현 (0) | 2018.09.11 |
---|---|
Spring Boot - Vue.js 연동 (2) | 2018.08.30 |
Spring Security - 시작하기 (0) | 2018.08.23 |
예외처리 (0) | 2014.05.25 |
JUnit (0) | 2014.05.03 |