Mybatis로 JDBC 구현하기
[회원가입]
[pom.xml]
1. ojdbc.jar 파일 설치하기: maven에서 ojdbc6.jar(11.2.0.4) 코드 복사
라이브러리 추가 확인
[DAO 수정하기]
2. sqlSessionManagerFactory 불러오기: sqlSessionManager.getSqlSession();
3. join 메소드 만들기(DAO)
1)연결하기(sqlSession 빌리기): sqlSessionFactory.openSession(boolean
autoCommit)
2)sql문 실행하기: insert(String statement, Object Parameter) 선택
–session.insert(“mapper의 id값”, sql문장에 넣을 값)
3)sql문 작성하기: [Mapper.xml]에 <insert> 태그 작성
-id: DAO에서 작성한 id값(메소드명)
- parameterType="sql문장에 넣은 값의 데이터 타입작성"(DTO 파일경로)
- values 값 채우기: 바인드 변수(?) 대신 #{필드명} 작성
4)연결 종료하기(sqlSession반납): session.close()
4. Type 별칭 지정하기: [mybatis-config.xml}
-<properties> 태그 아래에 <typeAliases> 태그 추가-안에 <typeAlias> 태그 추가
-type= "Mapper.xml의 parameterType이나 resultType 지정 시 파일경로"
-alias=”별칭”
[로그인]
1. 연결하기: sqlSessionFactory.openSession(boolean autoCommit)
2. SQL문 실행하기: session.selectOne(“mapper id값”, 넣을 값)
3. SQL문 작성하기: <select> 태그
-id: 메소드 이름
-parameterType: “데이터 타입(별칭)”
-resultType: 반환 타입
4. 연결 종료하기: session.close()
[오류]
*Ctrl+h: 해당 문자열을 포함한 파일 찾기
1. 서블릿 클래스로부터 인스턴스 생성 중 오류→annotation방식으로 작성한 webServlet
지우기
2. sqlSessionFactory null: 연결하는 파일에 오류 있는지 확인
-web.xml 파일명 오류
-Mapper.xml, db.properties 파일 이동경로 파일명(대소문자, 오타)오류
3. 부적합한 Oracle URL 지정: [db.properties.file] 에서 작성한 URL 정확한지 확인
[모든 회원 정보 테이블로 출력]
[DAO]showMember 메소드 만들기
1. 연결하기: sqlSessionFactory.openSession(true)
2. SQL문 실행하기: session.selectList(“showMember”)
-id, pw, name 여러 값을 하나로 묶어 가져오므로 selectList 사용
-Mapper의 resultType이 DTO므로 데이터 타입 ArrayList<DTO> 작성
3. 연결종료하기: session.close()
4. 메소드 리턴타입 ArrayList<DTO>
-매개변수 필요없음: sql문에서 필요한 데이터 없음
-return값 작성: Mapper에서 받아온 id, pw, name을 불러올 수 있도록 리턴
[Mapper] id가 showMember인 <select>문 작성
-모든 값을 조회하므로 parmeterType은 필요없음
- resultType은 id, pw, name을 한번에 담을 수 있는 DTO
[ShowMember.jsp]출력화면
1. DAO에 있는 showMember 메소드 호출
2. 결과값을 테이블 형태로 출력
- <table>태그 작성
- <tr>태그-<th> 태그 작성: id, name, pw 제목 출력
- <tr>태그-<td> 태그 반복하는 for문 작성
[오류]
1. SQLSyntaxErrorException: select문에 세미콜론 작성하지 않음
2. IndexOutOfBoundsException: 반복문에서 반복횟수가 리스트의 범위 벗어남
출력할 때 index범위를 벗어나서 작성 =을 지워야 함
'JSP&Servlet' 카테고리의 다른 글
[JSP]9. 회원정보 관리 (0) | 2023.07.06 |
---|---|
[JSP]8. lombok (0) | 2023.06.30 |
[JSP]6. Maven&Mybatis (0) | 2023.06.28 |
[JSP]6. Maven&Mybatis (0) | 2023.06.27 |
[JSP]5. Scope (0) | 2023.06.26 |