Controller, Service, Dao, Mapper 분리
@Controller("adminNoticeController")
@RequestMapping("/admin/notice/")
public class NoticeController {
@Autowired
private NoticeService service;
@RequestMapping("list")
public String list(Model model) {
List<Notice> list = service.getList(1, "title", "t");
@Service
public class NoticeServiceImp implements NoticeService {
@Autowired
private NoticeDao dao;
@Override
public List<Notice> getList() {
List<Notice> list = getList(1, title, "");
return list;
}
@Override
public List<Notice> getList(int page, String field, String query) {
List<Notice> list = dao.getList(page, field, query);
return list;
}
@Repository
public class MyBatisNoticeDao implements NoticeDao {
@Autowired
private SqlSession sqlSession;
@Override
public List<Notice> getList(int page, String field, String query) {
NoticeDao mapper = sqlSession.getMapper(NoticeDao.class);
return mapper.getList(page, field, query);
}
<?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.newlecture.web.dao.NoticeDao">
<select id="getList" resultType="com.newlecture.web.entity.Notice">
select * from Notice where ${field} like '%${query}%'
</select>
</mapper>
mybatis.mapper-locations=classpath:com/newlecture/web/dao/mybatis/mapper/*Mapper.xml