개발/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이 출력된 것을 확인할 수 있습니다.