ㅇ 스프링 설정파일 (dispatcher-servlet.xml)

Slides:



Advertisements
Similar presentations
Transaction ㅇ Transaction 을 직접 구현하려면, 까다로운 설계와 복잡한 코드를 필요로 하고 수정에 공수가 많이 들게 된다. ㅇ 스프링에서 제공하는 Transaction Manager 를 사용하여 쉽고 간편하게 어려운 트랜잭션을 해결할 수 있다. xml.
Advertisements

Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
SQLite 소개 및 안드로이드에서의 사용법
DB Injection과 대응방안 nwkim.
Spring MVC ㅇ 스프링 MVC 구성요소 설명 DispatcherServlet 클라이언트의 요청을 컨트롤러에게 전달하고
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
소리가 작으면 이어폰 사용 권장!.
12 프로젝트 실습.
DRIMS-Cloud 소개.
극동대학교 전자결재 구축 그룹웨어 결재자 교육.
소프트웨어시스템설계(6주) 데이터베이스 연동
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
JPetStore 분석자료 1.0 Spring framework 작성자 : 김태완.
C#에서 데이터베이스 연동 방법.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
Chapter 05 SQL 인젝션 공격.
JDBC 프로그래밍 이수지 이동주 1.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 Bean을 이용한 회원가입 양식 작성하기
Information Technology
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
IOC, DI 2015 Web Service Computing.
9. 데이터베이스 9.5 SQL을 사용하는 프로그램 9.6 데이터폼 작성기를 사용하는 프로그램
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
ASP를 이용한 전자상거래 사이트 구축 지도교수님: 이형원 컴퓨터응용과학부 박정선.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다.
RFID Programming (출결관리 프로그램)
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 운영유지보수 사업단.
12 데이터베이스 사용하기.
SQL.
21강. 스프링JDBC JDBC를 이용한 반복코드 줄이기 Spring빈을 이용한 코드 간소화
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
You YoungSEok Oracle 설치 You YoungSEok
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
DataScience Lab. 박사과정 김희찬 (월)
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
SpringFramework 중간고사 요약 REST by SpringFramework.
프로그래머를 위한 첫걸음 JDBC Lecture 001 BY MINIO
Sep Youn-Hee Han Chapter 04. 예외 Sep Youn-Hee Han
SQL INJECTION MADE BY 김 현중.
MS-SQL7.0 Implementation 강의 노트
06. SQL 명지대학교 ICT 융합대학 김정호.
Spring Security 2015 Web Service Computing.
전자정부 표준프레임워크 호환성 가이드 (사)오픈플랫폼 개발자커뮤니티.
Index.html example.xml test.action .class.java test.ibatis.
JSP 빈즈 1.JSP 빈즈? JSP와 연동을 위해 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하며, 데이터 처리와 공용화된 기능을 제공하기 때문에 빈즈를 잘 활용하면 프로그램의 중복을 줄이고 좀더 원할한 유지보수가 가능한다. 물론 , 모든 JSP를.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
제 14 장 응용 계층과 클라이언트-서버 모델 클라이언트-서버 모델 14.2 동시성 14.3 프로세스 14.4 요약.
Stored program 장종원
Data Base Mysql.
관리자 페이지에서 관리자 승인 1. 정기권 신규고객 1. 로그인 화면 2. 차량등록여부 확인 3. 개인정보 활용 동의
Presentation transcript:

ㅇ 스프링 설정파일 (dispatcher-servlet.xml) iBatis ㅇ 스프링 설정파일 (dispatcher-servlet.xml) <?xml version="1.0" encoding="UTF-8"?> <!– 기본 설정 생략 --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="classpath:sqlMapConfig.xml"/> <property name="dataSource" ref="dataSource"/> </bean> <bean id=“sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"> <property name="sqlMapClient" ref="sqlMapClient"/> ㆍdispatcher-servlet.xml 에 iBatis를 사용하기 위한 설정 선언 (SqlMapClientFactory / SqlMapClientTemplate) ㆍiBatis 설정 XML 파일의 위치 지정

ㅇ iBatis 설정 파일 (sqlMapConfig.xml) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings useStatementNamespaces="false" /> <sqlMap resource="sql/Member.xml" /> <sqlMap resource="sql/DorReq.xml" /> <sqlMap resource="sql/DorPerMng.xml" /> <sqlMap resource="sql/DorHolMng.xml" /> </sqlMapConfig> 각 sqlMap 파일의 namespace 사용여부 각 sqlMap 파일의 위치 지정 ㆍiBatis 설정 XML ㆍ사용할 Query (SqlMap) 파일의 위치를 지정

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace=“member"> <typeAlias alias="MemberDto" type="com.dormitory.dto.MemberDto" /> <resultMap class="MemberDto" id="MemberResultMap"> ….. </resultMap> <select id="selectMember" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> // Query </select> <insert id=“insertMember” parameterClass=“java.util.HashMap”> </insert> </sqlMap> Result 또는 Parameter 로 사용될 클래스를 미리 지정 결과를 받을 클래스의 변수명에 매핑될 DB Column 지정 select / insert / update / delete 업무 성격에 따라 엘리먼트 및 SQL문 작성

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - typeAlias <typeAlias alias="MemberDto" type="com.dormitory.dto.MemberDto" /> ㆍSQL문 실행 결과 또는 입력 데이터(파라미터)로 사용할 클래스는 패키지를 포함하여 클래스를 선언하여야 하지만 typeAlias를 사용하면 패키지를 제외하고 단축 별명으로 사용 가능 ex) HashMap 사용시 resultClass=“java.util.HashMap” parameterClass=“java.util.HashMap” resultClass=“HashMap” parameterClass=“HashMap” MemberDto 사용시 resultClass=“com.dormitory.dto.MemberDto” parameterClass=“com.dormitory.dto.MemberDto” resultClass=“mDto” parameterClass=“mDto”

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - resultMap <resultMap class="MemberDto" id="MemberResultMap"> <result property="id" column=“ID" /> <result property="pw" column=“PW" /> <result property="name" column=“NAME" /> <result property=“acceptDate" column=“ACCEPT_DATE" /> </resultMap> ㆍselect (조회) 시 실제 DB 컬럼명으로 조회가 되지만 resultMap을 사용하면 조회된 컬럼명을 어떤 클래스의 어떤 변수명으로 저장할 지 지정 가능 DB 컬럼명 조회 컬럼명 저장 변수명 ID id PW pw NAME name ACCEPT_DATE acceptDate

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - select <select id="selectMember" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> SELECT ID, PW, NAME, GRADE FROM MEMBER WHERE 1 = 1 AND ID = #id# </select> ㆍ조회시 사용하는 태그 ㆍ조회 결과를 어떤 형태로 받을 것인지 resultClass 와 조회시 입력하는 데이터가 어떤 형태인지 parameterClass 를 지정해야 됨 ㆍ입력되는 데이터는 parameterClass에 저장된 key의 앞뒤로 # 기호를 사용 ex) Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap(“inputId”, “seorab”); 위와 같이 입력된 클래스를 parameterClass로 지정한 경우 #inputId# 로 사용

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - insert <insert id=“insertMember" parameterClass="java.util.HashMap"> INSERT INTO MEMBER VALUES ( #id#, #pw#, #name#, #grade#, DATE_FORMAT(NOW(), '%Y%m%d%H%i%S') ) </select> ㆍ삽입시 사용하는 태그 ㆍ입력하는 데이터가 어떤 형태인지 parameterClass 를 지정해야 됨 ㆍ삽입된 결과는 항상 Integer 형태로 반환  resultClass 사용 불가

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - update <update id=“updateMember" parameterClass="java.util.HashMap"> UPDATE MEMBER SET ID = #id#, PW = #pw#, NAME = #name#, GRADE = #grade# , ACCEPT_DATE = DATE_FORMAT(NOW(), '%Y%m%d%H%i%S') WHERE ID = #id# </update> ㆍ수정시 사용하는 태그 ㆍ입력하는 데이터가 어떤 형태인지 parameterClass 를 지정해야 됨 ㆍ수정된 결과는 항상 Integer 형태로 반환  resultClass 사용 불가

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - delete <delete id=“deleteMember" parameterClass="java.util.HashMap"> DELETE FROM MEMBER WHERE ID = #id# </update> ㆍ삭제시 사용하는 태그 ㆍ입력하는 데이터가 어떤 형태인지 parameterClass 를 지정해야 됨 ㆍ삭제된 결과는 항상 Integer 형태로 반환  resultClass 사용 불가

ㅇ iBatis Sql Map 파일 (지정 파일명.xml) - Dynamic SQL <select id="selectMember" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> SELECT ID, PW, NAME, GRADE FROM MEMBER WHERE 1 = 1 <isNotEmpty property=“id” prepend=“and”> ID = #id# </isNotEmpty> </select> ㆍ조건문을 지정할때 사용하는 태그 ㆍselect / insert / update / delete 모든 태그 내부에 지정 가능 ㆍ문법 : http://www.tutorialspoint.com/ibatis/ 참조

ㅇ iBatis SqlMapClientTemplate 사용 (Dao 클래스) @Repository public class MemberDao { @Autowired private SqlMapClientTemplate sqlTemplate; /* 회원 가입 */ public boolean insertMember(MemberDto memberDto) { int result = sqlTemplate.update("insertMember", memberDto); return result > 0 ? true : false; } /* 로그인 */ public List<Map<String, Object>> selectMember(Map<String, Object> paramMap) { return sqlTemplate.queryForList("selectMember", paramMap); ㆍselect : queryForList / queryForMap / queryForObject 메소드 사용 ㆍinsert / update / delete : update 메소드 사용 각 상황에 맞게 insert / update / delete 메소드가 존재하고 있지만 update 메소드만 사용하여도 무관