본문 바로가기

Spring

mysql 연동하기

1. pom.xml 설정 ( java 1.8 / sprongframework-version 5.0.7 에 적용하였음 )

 

1-1) maven 추가

mysql 연결 라이브러리

 

커넥션풀 연동 ( 연동에 필수는 아니지만 효율up )

 

jdbc

jdbc + 사용할 RDBMS의 커넥터 설정을 했다.

 

mybatis

1-2) maven update

1-3) root.xml > namespace클릭 > jdbc,mybatic추가

 

2. root-context.xml설정 (view와 관련되지 않은것은 root.xml로 설정했다)

 

 

2-1) 연결될 db의 설정을 입력하고 저장할 파일의 위치를 설정한다

설정할 파일경로와 name지정

2-2) 외부 파일의 접속정보에 관련된 bean이 어떤식으로 생성될것인지 지정한다

 

2-3) 외부 파일경로의 파일에 설정값 입력

ds.driverClassName=com.mysql.cj.jdbc.Driver

ds.jdbcUrl=jdbc:mysql://IP:port/스키마명?serverTimezone=Asia/Seoul

ds.username=계정 아이디

ds.password=계정 비밀번호

 

3) 커넥션 풀 설정

 

4) sqlSessionFactory에 지정될 커넥션풀,

마이바티스를 이용해 xml형식으로 객체를 전달 하기위한 설정파일 지정경로,

SQL을 작성할 mapper의 xml파일을 작성할 파일 지정 

5) 마지막으로 mapper를 연결해줄 package지정인데 이게왜 기본으로

src/main/java 의 패키지로 지정되는 것인지는 모르겠다.

 

 

 

6) 데이터 조회를 위한 셋팅

 

6-1)  mapper.service 생성할 package지정

mapper,servuce 패키지경로 지정

6-2) mapper,service 패키지에 javaClass,javaInterpce 생성

패키지에 java파일, 인터페이스 생성

mapper에는 인터페이스 1개

service에는 인터페이스1개 클래스1개

클래스에는 ( Service("명칭") 어노테이션 추가) + controller에서는 ( Autowired,Quilfier("명칭") 어노테이션 추가)

 

6-3)  넘길 값이있다면 VO객체( DTO에서 값읗 한번에 전달하기위해 만든 임의의 객체) 이용

java class파일 생성후 초기화없이 선언

이후 getter,setter또는 

어노테이션(주석 인데 구분하려고 이렇게부르는중) 주입

@Data //toString,getter,stter자동생성

@AllArgsConstructor //모든멤버변수 초기화생성
@NoArgsConstructor //기본생성자

 

6-4) sessionFactory 생성시 configuration 입력한 경로에

      6-3에서 생성한 VO객체를 DTO에서 사용하겠다고 xml파일 설정

6-5) sessionFactory 생성시 mapperLocation 입력한 경로에 xml파일 설정

7) 클라이언트가 값을 보낸 값으로 필요할때마다 DB를 조회하면 된다