웹페이지 제작을 위한 스프링공부
상단메뉴 구성하기 java
풀스택 개발자
2020. 6. 1. 02:52
1.mapper작성 (쿼리문)
package kr.co.softcampus.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import kr.co.softcampus.beans.BoardInfoBean;
public interface TopMenuMapper {
@Select("select board_info_idx, board_info_name " +
"from board_info_table " +
"order by board_info_idx")
List<BoardInfoBean> getTopMenuList();//sql문 반환 타입
}
2.servletcontext java가서 위 mapper를 bean객체로 정의
//쿼리문 실행을 위한 객체(mapper 관리)
@Bean
public MapperFactoryBean<TopMenuMapper> getTopMenuMapper(SqlSessionFactory factory) throws Exception{
MapperFactoryBean<TopMenuMapper> factoryBean = new MapperFactoryBean<TopMenuMapper>(TopMenuMapper.class);
factoryBean.setSqlSessionFactory(factory);
return factoryBean;
}
3.데이터베이스 쿼리문을 실행시킬 dao(데이터베이스에 접속하여 작업처리)클래스 작성
즉
topmenumapper에 있는 gettopmenulist()메서드를 호출하여 쿼리문을 실행하는 역활을 수행해줌
package kr.co.softcampus.dao;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import kr.co.softcampus.beans.BoardInfoBean;
import kr.co.softcampus.mapper.TopMenuMapper;
@Repository
public class TopMenuDao {
@Autowired
private TopMenuMapper topMenuMapper;
public List<BoardInfoBean> getTopMenuList(){
List<BoardInfoBean> topMenuList = topMenuMapper.getTopMenuList();
return topMenuList;
}
}
4 dao의 메소드를 호출해서 받아온 정보를 가지고 필요한 처리를 해주는 service 클래스 작성
package kr.co.softcampus.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import kr.co.softcampus.beans.BoardInfoBean;
import kr.co.softcampus.dao.TopMenuDao;
@Service
public class TopMenuService {
@Autowired
private TopMenuDao topMenuDao;
public List<BoardInfoBean> getTopMenuList(){
List<BoardInfoBean> topMenuList = topMenuDao.getTopMenuList();
return topMenuList;
}
}
다음으로 servletappcontext에서 위 클래스들을 스캔합니다
// 스캔할 패키지를 지정한다.
@ComponentScan("kr.co.softcampus.controller")
@ComponentScan("kr.co.softcampus.dao")
@ComponentScan("kr.co.softcampus.service")