본문 바로가기

[project] sql parameterType 2개 이상 주는 방법 여러 개를 줄 경우 interface에서 public interface ProjectDao { void insertMember(int projectNo, int memberNo) throws Exception; } 파라미터값을 2개로 넣어주고, insert into pms_project_member(project_no,member_no) values(#{param1},#{param2}) xml 파일에서 컬럼을 2개 넣고 값에 param1, param2를 설정해주면 된다.
Mybatis에서 DAO 구현체를 자동으로 생성하기 방법1 - Mapper XML 파일을 기준으로 설정하기 1. pms/mapper/XxxMapper.xml 파일 변경 2. mybatis-config.xml 파일 변경 3. pms.ClientApp 클래스 변경 - DAO 객체를 만들 때 SqlSession.getMapper()를 호출한다. MemberDao memberDao = sqlSession.getMapper(MemberDao.class); // XxxDao xxxDao = sqlSession.getMapper(XxxDao.class); 방법2 - DAO 인터페이스를 기준으로 설정하기 1. pms/conf/mybatis-config.xml 파일 변경 2. 태그에 매퍼 XML 파일을 등록하는 대신에 DAO 인터페이스의 패키지를 등록 기존의 매퍼 파일을..
Mybatis - useGeneratedKeys insert, update를 실행할 때 자동생성하는 키값을 true로 설정한다. 그러면 그 키값으로 mysql에서 조회가능하다. insert into pms_project(title,content,start_dt,end_dt,member_no) values(#{title},#{content},#{startDate},#{endDate},#{owner.no}) 프로젝트 : 멤버에 일반회원이랑 의사회원이랑 나눠진다. 멤버 번호가 1, 2, 3, 4, 5... 이라면 그 중에 의사회원이 3번일 수 있고 일반회원이 1, 2, 4, 5번 일 수 있다. 그래서 자동생성하게끔 useGeneratedKeys쓴다면 apus_doctor 테이블에서 의사 회원만 조회 가능하다. insert into apus_member(na..
mybatis - Data Persistence Framework, SqlSession 사용법, SQL 문에 삽입할 파라미터 전달하기 Data Persistence Framework - 데이터의 영속성(지속성; 등록,조회,변경,삭제)을 대신 처리해주는 프레임워크. Mybatis 도입 1) Mybatis 라이브러리 파일을 프로젝트에 등록하기 - mvnrepository.com 또는 search.maven.org에서 mybatis를 검색하여 라이브러리 정보 알아낸다. - build.gradle 파일에 의존 라이브러리 정보를 추가한다. - 'gradle eclipse' 실행하여 라이브러리를 다운로드 받고, 이클립스 설정 파일에 등록한다. - 이클립스 프로젝트를 리프래시하여 변경된 설정 파일의 정보를 반영한다. 2) Mybatis 설정 파일 준비 - mybatis.org 사이트에서 문서 페이지를 참조한다. - Mybatis 설정 파일(예: m..
DBMS에 SQL문 보내기 : select,update,delete, FK 가 참조하는 데이터 지우는 방법, insert 한 후 auto increment PK 값 리턴 받기 * ResultSet? 결과가 아니다! 서버에서 결과를 가져오는 일을 할 객체이다. 즉 서버의 select 실행 결과를 가져올 때 사용하는 도구이다. *executeQuery() -DBMS 서버에 select 문을 보낸다. -리턴 값: java.sql.ResultSet 구현 객체 DBMS에 SQL문 보내기 : select select * from x_board order by board_id desc getXxx(컬럼명): 컬럼의 번호를 지정하는 방식은 소스 코드를 읽을 때 매우 불편하다. 해당 번호가 어떤 컬럼을 가리키는지 알려면 select 문을 살펴봐야 하는 번거로움이 있다. 가능한 번호 대신 컬럼의 이름을 사용한다. 반복문을 사용하면 서버에서 여러 개의 데이터를 가져올 수 있다. - next()는..