Connection 통로
드라이버
sql작성
연결종료

my sql 드라이버
url
user id , pw 정보가 hikari가 가지고 있습니다.
커넥션 정보 > dataSource 가지고 있습니다.
생성될때 hikariConfig
실제 jdbc 일하는거 작성은

sqlSessionFactorybean
커넥션관리 dataSource - 참조를 합니다.
sql섹션팩토리한테 요청을 해야합니다.
kr.board.mapper 기능이 여기에 명시할께요

보드 mapper의 정확한 역할은


기능을 구현합니다. 추상메서드
내부적으로 클래스가 만들어집니다.
mapper가 interface를 구현합니다.
BoardMapper

add ~ 누르면

내가 할껄 sql 섹션 팩토리가 내부적으로 구현합니다.
board 테이블 Arraylist 타입으로 SELECT*FROM BOARD해줘
sql섹션 팩토리가 알아서합니다.

스프링 안에는 ioc container
필요할때 꺼내씁니다.
SQL섹션팩토리가 객체생성해서 메모리로 들어갑니다
@autowired를 통해서 받아옵니다. [메모리에 올라간 SQL섹션팩토리 빈]
커멘트패턴할때도
Board mapper를 상속받습니다. 업캐스팅 현상,
sql 섹션 팩토리 빈을 쓰고 있기떄문입니다.

mybatis 내부적인 구조입니다.

글쓰기 만들기
템플릿으로 views에 boardForm.jsp 생성합니다.
서버로 보내기 위한 form 태그 생성
class="form-control" 꾸미기

이렇게 빈공간 하면 다 들어가서 안됩니다.
<button type="submit">등록</button>

상세보기
특정게시글 1개만 보는것입니다.

보고싶은 게시글 정보를 넘겨줘야합니다.
제목? 내용? 번호? 작성일? 날짜?
유일하게 중복되지않는 idx번호를 넘겨줍니다.
보안x get방식으로
?

<a href="boardContents.do?idx=${vo.idx} }">
// 게시글 상세보기 기능
// 1개니까 vo로 묶이지 않습니다. 2개이상
// RequestParam을 쓰면됩니다.
// IntegerParse 아닙니다.
// 1게시글 6개 정보 번호,내용,작성자,날짜,조회
@RequestMapping("/boardContents.do")
public String boardContents
(@RequestParam("idx")int idx, Model model) {
System.out.println("게시글 상세보기 기능");
Board vo = mapper.boardContents(idx);
model.addAttribute("vo", vo);
return "boardContents";
}
Board vo 가 return "boardContents" 됩니다.
잠시 보관하기 위해서
Model model 에 저장합니다.
boardForm 복사 boardContents 생성합니다.
package kr.board.entity;
public class Board {
//VO,DTO 기능
package kr.board.controller;
// 게시글 상세보기 기능
@RequestMapping("/boardContents.do")
// 게시글 입력 기능
@RequestMapping("/boardInsert.do")
// 게시판 입력페이지 이동 기능
@RequestMapping("/boardForm.do")
// 게시판 전체조회 기능 - boardList.do
@RequestMapping("/boardList.do") // 아래 메소드와 url을 연결 하는 맵핑
package kr.board.mapper;
@Select("SELECT * FROM BOARD ORDER BY INDATE DESC")
public ArrayList boardList();
@Insert("INSERT INTO BOARD(TITLE, CONTENTS,WRITER) VALUES(#{title},#{contents},#{writer})")
public void boardInsert(Board vo);
@Select("SELECT * FROM BOARD WHERE IDX = #{idx}")
public Board boardContents(int idx);
http://localhost:8081/controller/boardList.do
boardList @갈 수 있는 주소@
<a href="boardContents.do?idx=${vo.idx}">
boardList @갈 수 있는 주소@
<a href ="boardForm.do" class="btn btn-primary">글쓰기</a>
@갈 수 있는 주소@
<form action="boardInsert.do" method="post">