개발햄비

[java] springBoot + mybatis + mysql 게시판 환경설정(2) 본문

개발/java

[java] springBoot + mybatis + mysql 게시판 환경설정(2)

개발햄 2019. 10. 24. 22:33

1. DemoApplication 설정

@SpringBootApplication
@MapperScan(value={"com.example.demo.mapper"})
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
	
	 /*
     * Set_SqlSessionFactory 
     */
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception{
        
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        
        sessionFactory.setDataSource(dataSource);
        return sessionFactory.getObject();
        
    }
}

@Bean : 스프링에 필요한 객체를 생성

@MapperScan : Mapper 인터페이스 연결

 sqlSessionFactory() : MyBatis의 SqlSessionFactory를 반환

 

・ 스프링부트가 실행할 때 DataSource객체를 이 메서드 실행 시 주입해서 결과를 만들고, 그 결과를 스프링내 빈으로 사용.

 

 

2. 패키지 설정

・ com.example.demo - ( Bean, controller , mapper, service  패키지 생성 )

3. bean 설정

・ bean - BoardData.java 설정 (Getters, Setters 추가 - 윈도우의 경우 오른쪽 클릭해서 생성 할 수 있습니다 )

 

 

 

4. mapper 설정

・ mapper - 우클릭 - interface 생성 

@Repository : 해당 클래스가 데이터베이스에 접근하는 클래스임을 명시

・ xml 파일 생성 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 
<mapper namespace="com.example.demo.mapper.BoardMapper">
    <select id="boardCount" resultType="int">
        SELECT
            COUNT(*)
        FROM BOARD
    </select>
</mapper>

 

 

5. table 생성

 

DROP TABLE IF EXISTS BOARD;
CREATE TABLE BOARD (
boardNum INT NOT NULL AUTO_INCREMENT,
subject VARCHAR(100) ,
content VARCHAR(100),
writer VARCHAR(100) ,
name VARCHAR(100) ,
created_date DATE ,
PRIMARY KEY (boardNum));

 

6. DB연결 확인 

테이블 데이터가 1개이기 때문에 1이 출력된 것을 확인할 수 있습니다.