mapper
<select id="getTotalCount_sawon" resultType="int">
select count(*) from sawon
</select>
<insert id="insert_sawon" parameterType="SawonDto">
insert into sawon (name,driver,buseo,photo,ipsaday) values(#{name},#{driver},#{buseo},#{photo},now())
</insert>
<select id="getAllDatas_sawon" resultType="SawonDto">
select * from sawon
<if test="search!=null">
where ${title} like concat('%',#{search},'%')
</if>
order by num
</select>
<select id="getData_sawon" resultType="SawonDto" parameterType="String">
select * from sawon where num=#{num}
</select>
interface
public int getTotalCount();
public void insertSawon(SawonDto dto);
public List<SawonDto> getAllSawons(Map<String, String> map);
dao
@Override
public int getTotalCount() {
return session.selectOne("getTotalCount_sawon");
}
@Override
public void insertSawon(SawonDto dto) {
session.insert("insert_sawon", dto);
}
@Override
public List<SawonDto> getAllSawons(Map<String, String> map) {
List<SawonDto> list = new ArrayList<SawonDto>();
return session.selectList("getAllDatas_sawon", map);
}
@Override
public SawonDto getSawon(String num) {
return session.selectOne("getData_sawon", num);
}
controller
@GetMapping("/sawon/form")
public String sawonform() {
return "sawon/addform";
}
@GetMapping("/sawon/list")
public ModelAndView sawonlist(@RequestParam(required = false) String title, @RequestParam(required =false) String search) {
ModelAndView mview = new ModelAndView();
Map<String, String> map=new HashMap<String, String>();
map.put("title", title);
map.put("search", search);
mview.addObject("totalCount", dao.getTotalCount());
mview.addObject("list", dao.getAllSawons(map));
mview.setViewName("sawon/sawonlist");
return mview;
}
@PostMapping("/sawon/insert")
public String sawonInsert(@ModelAttribute SawonDto dto, @RequestParam MultipartFile upload, HttpSession session) {
// upload : insert에 사용한 name
String path = session.getServletContext().getRealPath("/WEB-INF/image/");
System.out.println(path);
// DTO에 담을 변수
String photoname;
if (upload.getOriginalFilename().equals(""))
photoname = "none image";
else {
photoname = upload.getOriginalFilename();
try {
upload.transferTo(new File(path + "\\\\" + photoname));
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//dto에 업로드한 photoname 넣어주기
dto.setPhoto(photoname);
dao.insertSawon(dto);
return "redirect:list";
}
mapper
<update id="update_sawon" parameterType="SawonDto">
update sawon set buseo=#{buseo},driver=#{driver}
<if test="photo!=null">
,photo=#{photo}
</if>
where num=#{num}
</update>
interface
public SawonDto getSawon(String num);
public void updateSawon(SawonDto dto);
dao
@Override
public SawonDto getSawon(String num) {
return session.selectOne("getData_sawon", num);
}
@Override
public void updateSawon(SawonDto dto) {
session.update("update_sawon", dto);
}
controller
@GetMapping("/sawon/updateform")
public String sawonUform(@RequestParam String num, Model model) {
model.addAttribute("dto", dao.getSawon(num));
return "sawon/updateform";
}
@PostMapping("/sawon/update")
public String sawonUpdate(@ModelAttribute SawonDto dto, @RequestParam MultipartFile upload, HttpSession session) {
String path = session.getServletContext().getRealPath("/WEB-INF/image/");
System.out.println(path);
// DTO에 담을 변수
String photoname;
if (upload.getOriginalFilename().equals(""))
photoname = null;
else {
photoname = upload.getOriginalFilename();
try {
upload.transferTo(new File(path + "\\\\" + photoname));
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//dto에 업로드한 photoname 넣어주기
dto.setPhoto(photoname);
dao.updateSawon(dto);
return "redirect:list";
}
mapper
<select id="getAllDatas_sawon" resultType="SawonDto">
select * from sawon
<if test="search!=null">
where ${title} like concat('%',#{search},'%')
</if>
order by num
</select>
interface
public List<SawonDto> getAllSawons(Map<String, String> map);