mybatis?
자바객체와 SQL 사이의 관계를 쉽게 다룰 수 있도록 해주는 프레임 워크
Mybatis API
- SqlSessionFactoryBuilder 클래스 : build() 메소드를 통해 mybatis-config를 로딩하여 SqlSessionFactory 객체를 생성한다.
- SqlSessionFactory 클래스 : SqlSession 객체에 대한 팩토리 객체다. 이 객체의 openSession() 이라는 메소드를 통해 SqlSession 객체를 얻을 수 있다.
builld.gradle 에 추가
implementation 'org.mybatis:mybatis:3.5.6'
mapper 패키지 아래 config.xml
더보기
<?xml version="1.0" encoding="UTF-8" ?>
https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="mybatis-config/db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mybatis-config/mapper/BookMapper.xml"/>
</mappers>
</configuration>
mybatis를 사용하면 controller의 코드 길이는 줄어든다..
더보기
주석문을 제외한 나머지 코드만 존재한다.
직접 코드를 추가 -> 정보를 list로 받아서 저장 -> list의 값만 반환해줌
이렇게 간단한 코드로 만들 수 있다...!
public String requestHandler(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// BookDAO dao =new BookDAO();
BookMyBatisDAO dao =new BookMyBatisDAO();
List<BookDTO> list=dao.bookList();
// List<BoradDTO> list = new ArrayList<>();
//
// list.add(new BoradDTO(1, "게시판 연습1", "게시판 연습1", "관리자", new Date(), 0));
// list.add(new BoradDTO(2, "게시판 연습2", "게시판 연습1", "관리자", new Date(), 0));
// list.add(new BoradDTO(3, "게시판 연습2", "게시판 연습1", "관리자", new Date(), 0));
// 매우 중요 req.setAttribute("list",list);
req.setAttribute("list",list);
// RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/views/list.jsp");
//View Resolver API : 경로를 지정해주는 것?
//객체바인딩 : controller -> view로 데이터를 보내는 것
// rd.forward(req, resp);
//return "/WEB-INF/views/list.jsp";
return "list"; // -> 뷰의 논리적인 이름만 넘기기
}
'Spring > 스프링_정리' 카테고리의 다른 글
[패캠] 스프링의 Core Technology (1) | 2024.02.07 |
---|---|
[패캠] 자바, 스프링, 스프링 부트 (1) | 2024.02.07 |
[베이직] BeanDefinition (0) | 2024.01.10 |
[베이직] BeanFactory와 ApplicationContext (0) | 2024.01.08 |
[베이직] 스프링 컨테이너와 스프링 빈 조회 (1) | 2024.01.08 |