이상태에서 ctrl space가 안먹히는 이유 -> 라이브러리를 안올렸기 때문임
->이걸 pom.xml 가서 dependency 써서 올려주는거임 ojdbc, mybatis
Resources 클래스의 getResourceAsReader 라는 메소드에 xml 경로 path를 넣어주면 위치에있는 xml을 읽어서 key 밸류로 바꿔줄거임
SqlSessionFactoryBuilder의 build 메서드에 읽어온값 reader를 넣어주면 SqlSessionFacotry 객체 factory로 만들어줄거임
reader는 IO객체이기 때문에 close 하는거 기억하기
manager는 getFactory를 통해 factory에 있는 접속된 정보를 갖고만 있는 상태니까
manager.openSession으로 Session을 열어줌
DB에서 컬럼명만 복사해서
dto(객체를 담는 그릇)를 만들어
소문자로 바꾸고, 타입들만든다음에 Source -> 생성자 오버로딩하면 디폴트 생성자가 사라짐 그래서 생성자 오버로딩하는거임
그다음 Mapper xml 만들어서 거기에 쿼리만 쭈욱 넣으면 되는거얌
Mapper xml에는 namespace(단순이름, 패키지며 아님)가 필수임
보통 DaoImple 클래스를 이름으로 설정함
resultType= 객체여야함 그래서 클래스를 선언해주는거니까 com/min/edu가 아니라 com.min.으로 바꿔줘야함
근데 이런 resultType 매번쓰기 귀찮잖아 그걸 Alias로 쓸수 있어
Configuration 가서 <typeAliases> 치고 alias= 보통 클래스명 그대로 씀
그다음 Mapper.xml로 돌아가서 쿼리작성할때 resultType에 Alias 써주면댐
만든다음에 Configuration 가서 environments 밑에가서 mapper ctrl space 해서 넣어야함
class= 자바/ resource = 파일들/ url= 웹
우리는 resource에 Mapper xml 경로 넣어야겠지?
반복되는 쿼리문 알리아스 사용하기 (Mapper xml 상단에 작성)
상단에 알리아스 선언하고
내려가서 쿼리문작성할떄 반복되는 부분 include로 ㄱㄱ
Configuration.xml = Mybatis에서 필요로하는 값을 작성 (Datasource, 로그인정보 , Mapper.xml 주소)
Mapper.xml = 쿼리문 모아놓은 곳
SqlSessionFactoryManager 클래스 안에 SqlSessionFactory factory객체를 구현해서 Configuration 정보를 거기에 담아
Daoimpl에 들어가야하는거
1. Logger (로거안찍으려면 생략)
2. SqlSessionFactory 객체로 getFacotry() 메서드 실행시켜서 Configuration의 접속정보랑 그 Configuration에 연결된 Mapper까지 가서 쿼리문도 담아오는거...?
3. Mapper의 NameSpace 변수 ( 뒤에 . 찍는거 기억)
4. Dao를 오버라이드한 메소드
질문: Daoimple 클래스는 Dao 인터페이스를 implements 해서 메서드를 오버라이드해서 사용하는데
어떻게 다른데에서는 SqlSessionFactory manager 라고 변수선언해서 그냥 openssesion같은 메소드를 사용할수 있는건지...?
html 노드트리 보는 법
window -show view -outline
구디아카데미 후기/ 국비지원IT개발자 취업 / 전민균 강사님