티스토리 뷰
반응형
안녕하세요. Nerd-Lee입니다.
공부 내용은, 인프런 박매일님의[NarP Series]MVC 프레임워크는 내 손에[나프1탄] 을 참고하였습니다.
MVC 1단계인, Servlet 환경으로만 만들어보고, MVC 2단계로 넘어가고
나중에는 Spring Framework를 사용하는 방식의 강의입니다.
MVC 1단계는, Controller + Model 만을 사용하는 방식입니다.
1. 회원 저장 메서드 생성
memberInsert라는 이름을 가진 메서드를 만들고, 매개변수를MemberVO클래스의 변수를 이용해서
받아온 값을 저장해주면 된다. 일일히 변수에 대한 데이터값을 파라미터로 받지 않고 말이다.- 그럼 받아온 값을,
insert쿼리로 데이터베이스에 저장하면 된다. - 메서드 안에
String SQL = "insert into member(id, pass, name, age, email, phone) values(?,?,?,?,?,?)";라는 쿼리문을 만들어준다. - 쿼리문에서,
?를 파라미터라고 한다. - getConnect 함수를 호출해서, 데이터베이스를 연결할 수 있게 Connection 객체를 만들어주고
PreparedStatement형 변수를 이용해서, SQL 문장을 전송할 수 있는 객체를 생성해서, 미리 컴파일을 시킨다.- 미리 컴파일을 시키는 이유는 속도가 빠르기 때문이다.
- 이제
?로 된 쿼리 파라미터에 값만 추가해주고, 데이터베이스에 전송시키면 된다. - 코드는 다음과 같다.
public int memberInsert(MemberVO vo) {
// 1. ? (파라미터 ) 순서는 1 2 3 4 5 6 으로, 0번이 아닌 1번으로 시작한다.
String SQL = "insert into member(id, password, name, age, email, phone) values(?,?,?,?,?,?)";
int success = -1;
// 2. Connection 객체 만들기
getConnect();
// 3. SQL 문장을 전송하는 객체 생성하기
try {
ps = conn.prepareStatement(SQL); // 미리 컴파일을 시킨다. ( 속도가 빠르다. )
// 4. 파라미터에 값 추가하기
ps.setString(1, vo.getId());
ps.setString(2, vo.getPassword());
ps.setString(3, vo.getName());
ps.setInt(4, vo.getAge());
ps.setString(5, vo.getEmail());
ps.setString(6, vo.getPhone());
// 5. 전송
success = ps.executeUpdate(); // executeUpdate는, 0 or 1이 반환되는데. 반환 값이 0이면 전송이 실패된것이고 1이면 전송이 잘 된 것으로 처리가 된다.
} catch (Exception e) {
e.printStackTrace();
}
return success;
}
2. Controller에서, 회원저장 메서드 실행하기
PrintWriter out = response.getWriter();
// Model과 연동하기
MemberDAO dao = new MemberDAO();
int success = dao.memberInsert(vo);
if(success > 0) {
// 가입 성공시
out.println("insert success!");
}
else {
// 가입 실패시 예외객체를 만들어서 WAS(톰캣서버) 에게 던진다.
throw new ServletException("not insert!");
}
3. MySQL 실행하기
- 이전 공부내용에서, MySQL 실행하듯이 실행하고 서버를 실행해서 데이터들을 입력하고 가입버튼을 클릭해보자.
insert success! 라는 내용이 출력되면, sql 파일로 쿼리를 실행해서 데이터가 잘 들어갔는 지 확인하자. 난 잘됐다.
4. SQL Results 메뉴에 plug-in error가 발생할 경우 해결법
- 이클립스를 잠시 닫는다.
- 프로젝트가 들어있는 상위 폴더로 가서,
.metadata를 클릭한다. - org.eclipse.datatools.sqltools.result 폴더 안에 들어가서 results라는 파일을 지워주고 실행하면 해결된다.
이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
다음 글로 찾아오겠습니다!
반응형
'web & develop > 웹 공부' 카테고리의 다른 글
| [MVC SPRING] 10. 회원리스트 보기 (0) | 2022.04.30 |
|---|---|
| [MVC SPRING] 09. 회원리스트 가져오기(묶고(VO)-담고(List)) (0) | 2022.04.30 |
| [MVC SPRING] 07. 한글처리와 JDBC(DAO) (0) | 2022.04.30 |
| [MVC SPRING] 06. 회원관리 UI 및 파라미터 수집(VO) 하기 (0) | 2022.04.30 |
| [MVC SPRING] 05. Controller에서 Model 분리하기 (0) | 2022.04.30 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- HTML
- Git
- 프리젠테이션 로직
- Servlet
- CSS
- c#
- 유니티
- Next.js
- Unity
- Vuforia
- MVC
- JSP
- 뷰포리아
- 게임프로그래밍
- Controller
- 프로그래밍
- 서블릿
- 안드로이드
- 유니티로 배우는 C#
- Base Of Coding
- 스프링
- baseofcoding
- 유니티3D
- VR
- GitHub
- unity3d
- 비지니스 로직
- spring boot
- Java
- Spring
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함