server.port=9000
#JSP
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
#Oracle Set
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=green01
spring.datasource.password=1234
#Mybatis Set
#mapper의 모든 폴더의 모든 xml파일
mybatis.mapper-locations=classpath:mybatis/mapper/**/**.xml
디펜던시 안에요...
implementation 'javax.servlet:jstl'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'



<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.study.springboot.jdbc.ISImpleBbsDAO">
<select id="listDao" resultType="com.study.springboot.jdbc.SimpleBbsDTO">
select * from simpleBbs order by id desc
</select>
<select id="viewDao" resultType="com.study.springboot.jdbc.SimpleBbsDTO">
select * from simpleBbs where id = #{param1}
</select>
<insert id="writeDao">
insert into simpleBbs values(simplebbs_seq.nextval, #{param1},#{param2},#{param3})
</insert>
<delete id="deleteDao">
delete from simpleBbs where id =#{param1}
</delete>
<update id="update">
update simpleBbs set title = #{param1} where id = #{param2}
</update>
</mapper>
@Mapper어노테이션이 있어요
@Mapper
public interface ISImpleBbsDAO {
public List<SimpleBbsDTO> listDao();
public SimpleBbsDTO viewDao(String id);
public void writeDao(String writer, String title, String content);
public void deleteDao(String id);
public void update(String title, String id);
}
@Controller어노테이션이 있고 매퍼 서비스를 불러요 @Autowired
@Autowired
private ISImpleBbsDAO dao;
@RequestMapping("/")
public @ResponseBody String root() {
return "<h1>메인이당</h1>";
}
@RequestMapping("/list")
public void userlistPage(Model model) {
List<SimpleBbsDTO> list = dao.listDao();
model.addAttribute("list", list);
}
@RequestMapping("/view")
public void view(String id, Model model) {
SimpleBbsDTO dto = dao.viewDao(id);
model.addAttribute("dto", dto);
}
@RequestMapping("/writeForm")
public void writeForm() {
}
@RequestMapping("/write")
public String write(String writer, String title, String content) {
dao.writeDao(writer, title, content);
return "redirect:list";
}
@RequestMapping("/delete")
public String delete(HttpServletRequest request, String id) {
dao.deleteDao(id);
return "redirect:list";
}
@RequestMapping("/update")
public String update(String title, String id) {
dao.update(title, id);
return "redirect:list";
}
<!-- "_int" 반환 타입이 int입니다 / "int"는 Integer타입 -->
<select id="countBbs" resultType="_int">
select count(*) from simpleBbs
</select>
<!-- 다오에서 <HashMap<String, String> map = new HashMap<>();
으로 item1이라는 키로 쭉쭉 넣어줬음.
허쉬맵은 parameterType="java.util.HashMap" 이렇게 받아옴.-->
<insert id="writeDao3" parameterType="java.util.HashMap">
insert into simplebbs (id, writer, title, content) values (simplebbs_seq.nextval, #{item1}, #{item2}, #{item3})
</insert>

그리고 자료를 보내줄때 dto형으로 보내주면
#{id}등의 자료형으로 받을 수 있음.... 밑에는 String으로여서..
<insert id="insert">
insert into simpleBbs values
(simplebbs_seq.nextval,#{param1},#{param2},#{param3})
</insert>
@Param("_id") 라고 변수명을 지정해주면
id = #{_id} 처럼 설정한 변수명으로 받아올 수 있음
IService
public void deleteDao(@Param("_id")String id);
mapper
<delete id="deleteDao">
delete from simplebbs where id = #{_id}
</delete>