공부/Spring 복습

Employees 테이블을 출력해보기(mybatis사용 전, 후)

ChoiDooSic 2021. 10. 5. 18:03

Spring Framework 4버전 사용.

Oracle Database 18c 버전 사용.

 

사용 라이브러리

lombok.

jstl.

HikariCP.

Mybatis.

Mybatis - Spring.

 

라이브러리 적용법에 대한 링크(아직 작성 전.)

 

스프링 프레임워크를 이용하여 데이터베이스의 HR계정에있는

Employees테이블을 출력하여보자!

(이때에 모든 컬럼을 출력하기보다는 보기좋게 원하는 컬럼 몇가지만 출력해보자)

EmployeeDto 클레스를 만들어 getter와 setter을 만들어준다.

(lombok 라이브러리를 이용하였기 때문에 @Data어노테이션만 붙여준다면 자동으로 생성된다.)

 

mybatis 사용전 코드.

※ MYBATIS 사용전

#클래스명 위의 @RequestMapping() 을 적어주면 클레스 내에서 공통적으로 주소를 사용할수 있다.

예) @GetMapping("/list") 이지만 사실은 @GetMapping("/employee/list")인 것이다.

 

#Controller 어노테이션을 붙여야 MVC 패턴의 컨트롤러 역할을 해준다.

 

이때에 주의할점은 void 즉, 리턴값이 없을때에는

@GetMapping이 뷰의 주소가 된다는걸 기억하자.

클래스위의 주소와 메서드의 주소가 합쳐진다면 /employee/list 가된다.

 

1. 사용할 쿼리문을 정한다
2. 해당 쿼리의 실행 결과를 DB로 부터 꺼내온다
3. 꺼내온 DB의 데이터를 데이터 클레스에 담는다
4. 어트리뷰트에 employees라는 키값을 담고 벨류에 list를 담아 view로 전해준다.

 

※ MYBATIS 사용후

mybatis 사용후

mybatis를 사용한다면 코드가 아주 깔끔해지는 모습을 볼수 있다.

참고로 @Autowired를 통해 HikariDataSoure도 불러올 필요가없어진다.

보다싶히 인터페이스를 만들어 @Select어노테이션에 쿼리문을 작성하여주면

마이바티스가 알아서 쿼리문의 내용대로 만들어준다.

mybatis를 사용하기위해서는 root-context에 빈을 등록해주고

<mybatis - spring : scan> 테그를 작성해야한다 이 부분에 대한것들은 따로 포스팅 하도록 하겠다.

(xml방식도 있지만 따로 다루도록 하겠다)

 

컨트롤러에서 보낸 데이터를 jsp파일에서 받아 테이블로 구성하여 화면에 띄워주는데

모든 컬럼을 띄우기에는 많음으로 내가 띄우고싶은 컬럼을 몇개만 골라 띄워준다.

<c : forEach>는 jstl 라이브러리를 적용해야 사용할수 있으며

model.attribute(키(employees), 벨류(list))를 통해 보낸 값을 꺼내어서

출력하여준다.

 

 실행결과.