[오라클, 자바 연동 복습]
1. 프로젝트를 생성한다. Java ~ Mybatis ~ Oracle ( ojdbc6.jar mybatis3.4.6.jar ) 설정되어있는 JDK를 사용한다.
2. 테이블을 생성한다.
- 회원관리 프로젝트
User
아이디(userid) 문자열(20) pk,
패스워드(userpwd) 문자열(20) nn,
이름(username) 문자열(20) nn,
전화번호(phone) 문자열(20),
생년월일(birth) 날짜
sql에서 생성이 안되서 테이블명 userinformation으로 바꿈
2) 라이브러리 설정
mybatis-x.x.x.jar 파일 + ojdbc.jar build path 시킴
- 계정 설정을 위한 텍스트 파일 : db.properties
선택한 파일 2개가 잘 들어왔는지까지 확인!
3. VO클래스를 생성한다. 테이블의 컬럼명과 VO클래스의 필드명을 일치시킨다. 자료형은 각 언어에 맞는 자료형으로 설정한다 ( number - int or double varchar2 - String , date - String )
4. db.properties 파일을 생성(복사) 한다. 내용이 틀림이 없는지 확인한다.
파일 3개 복붙해 작업하는 소스에 붙여넣기
우리가 작업하는 것과 내용이 같게 해주기
※절대 건들이지 말아요!※
<!-- DB접속정보 값을 가지고 있는 파일 설정 -->
<properties resource="db.properties" />
<typeAliases>와 <mappers>는 우리가 작업하는 것과 동일하게 만들어 주기
5. mybatis-config.xml 파일을 생성(복사) 한다.
1) DB접속정보 설정의 파일명이 올바른지 확인한다. db.properties 명칭의 파일이 있는지 확인한다.
2) typeAliases에 해당 프로젝트의 VO클래스를 등록한다.
3) DB접속정보 셋팅 부분에서는 value에 지정한 변수명이 db.properties의 키명칭과 같은지 확인한다.
4) Mappers에서는 해당 프로젝트에서 사용할 mapper.xml파일 (SQL 구문이 작성되어있는) 이 등록되어 있는지 확인한다.
6. 프로젝트에 필요한 패키지와 Java파일들을 생성한다.
1) vo, ui, manager, dao 패키지를 생성한다.
2) vo패키지에는 VO클래스를 3) ui패키지에는 main, ui클래스를 4) manager패키지에는 manager클래스를 5) dao 패키지에는 dao클래스와 mapper인터페이스 MybatisConfig 파일을 생성(복사)한다.
자바와 오라클을 연결하는 중요한 파일
MybatisConfig.java
7. ~mapper.xml (SQL) 파일의 내용을 추가한다.
1) mapper태그의 namespace속성 값을 프로젝트의 dao패키지의 mapper인터페이스의 경로로 설정한다.
2) 기능별로 SQL구문을 작성한다. ex) 프로그램을 실행하면 회원정보를 DB에 등록하는 기능을 수행하고 싶다. ( 회원 가입 ) insert SQL구문을 작성해야한다.
3) mapper.xml에서 해당 DML과 같은 태그를 생성한다.
4) 생성된 태그 안쪽에서 SQL구문을 작성한다. 단, ; 는 작성하지 않는다.
5) 생성된 태그에 id 속성값을 지정한다. 단, id 속성값은 해당 파일에서 유니크 해야된다. id값은 해당 SQL를 실행하기 위한 이름이라고 보면된다.
6) 해당 SQL구문이 실행되기 위해서 전달 받아야 하는 값이 있을 경우에는 parameter type을 반환 해줘야 하는 값이 있을 경우에는 result type을 지정해야 한다. 이때 type은 mybatis-config.xml에서 지정한 type Alias를 사용한다.
8. Mapper 인터페이스의 추상메소드를 생성한다.
1) 추상메소드의 메소드명칭은 mapper.xml의 SQL을 포함하고있는 태그의 id값과 일치해야한다.
2) 추상메소드의 return type은 SQL을 포함하고 있는 태그의 result type과 일치해야 한다. 단, 없을 경우는 void로 한다. 이때 ( insert , delete , update 태그의 경우에는 int를 활용할 수 도 있다. )
3) 추상메소드의 parameter type은 SQL을 포함하고 있는 태그의 parameter type과 일치해야 한다. 단, 없을 경우는 작성하지 않는다.
//UserMapper와 UserMapper를 연결하는 작업!
<!-- 회원정보 처리 SQL --> 인터페이스의 풀네임을 적어야 한다.
<mapper namespace="User.dao.UserMapper">
#{userid}라는 getter하라는 말
(#{userid}, #{userpwd}, #{username}, #{phone}, #{birth})
: 각각 꺼내서 집어넣으라는 의미
9. DAO 클래스의 내용을 작성한다.
1) MybatisConfig.java 파일에서 생성한 SqlSessionFactory 객체를 가져온다. ( DB접속정보, SQL정보, 별칭정보 등을 가지고 있는 객체 )
2) Mapper 인터페이스에서 작성한 추상메소드를 복사하여 DAO클래스에 붙여넣는다.
3) 해당 메소드에서 DB접속을 하는 코드를 작성한다. SqlSession 객체를 통해서 openSession을 하게 된다.
4) Mapper 인터페이스를 사용할 수 있도록 SqlSession 객체에서 getMapper 메소드를 활용하여 객체로 생성한다.
5) 생성된 객체를 통해서 추상메소드를 실행한다.
6) 실행한 SQL구문이 DML (insert, update , delete) 일 경우에는 반드시 commit을 한다.
7) DB접속 동작은 언제든지 예외가 발생할 수 있는 동작이므로 예외처리를 반드시 해야한다.
8) SQL동작을 다 실행 했다면, DB접속을 종료시켜준다.
웹으로 가면 Front (UI는 HTML), Back (Server)
프론트나 백엔드나 서로의 업무를 이해하고 있어야 한다.
우리는 html을 안배웠기때문에 자바로 일단 해볼게요.
[3교시] 설명 수업 다시 듣기
main 클래스 만들기
실행
switch~case문 추가
나중에 html으로 바꾸면 main이 사라지고, Spring Framework를 사용하게 된다.
사용자 부분(html) - Service, DAO(인터피이스) - 서버 부분(DB)
: [MAIN → UI → SERVICE → DA0 → (인터페이스) → DB]
다시 go!
dao가 중요한 역할을 함
UserMain을 실행하면 Mybatis와 함께 구동된다.
'개발자로 가는 길(국비지원과정) > 2. Oracle' 카테고리의 다른 글
[210602수] 자바, 오라클 연동 전체조회, 새로운 프로젝트(게시판 board 생성) (0) | 2021.06.02 |
---|---|
[210601화] 오라클 , 자바 연동 흐름 읽기, selectOne, delete (0) | 2021.06.01 |
[210530일] 오라클 데이터베이스 sql A분반 연습문제 (0) | 2021.05.30 |
10주차 질문 (0) | 2021.05.29 |
[210528금] Mybatis 오라클, 자바 연동 + <다른 분반 A반 필기 내용 참고> (0) | 2021.05.28 |