우주코딩
xml 파일 읽기, sqlSession, in-parameter, xml entity 본문
XML
<?xml version ="1.0" encoding = "UTF-8" ?> // xml선언 반드시 첫번째 줄에 있어야한다
<!DOCTYPE ... > // 태그 작성 규칙
<configuration> // root element 부모 element 가장 바깥쪽 태그, root element는 오직 한 개만 가능
시작태그 <environments default = "development"> // 자식 element = tag
~~~~ 콘텐트
끝 태그 </environments>
<mappers>
<mapper resource = " ~~ "/> // 태그명, 속성의 값, 끝 태그를 생략할 때 /> 삽입
</mappers>
</configuration>
실무의 DBMS 구성
개발자 -> DBMS (개발용DB)
테스터 -> DBMS (App.을 테스트할 때 사용하는 DBMS)
고객 -> DBMS (실제 App을 운영할 때 사용하는 DBMS)
소스파일 컴파일 - 자바소스와 일반 파일을 분리해서 관리하기
src/main/java/Hello.java
a.xml
b.txt
둘 다 자바 소스 폴더로 간주한다
컴파일
bin/main/Hello.class
a.xml
b.txt
SqlSession - selectList() 와 selectOne()
sqlSession.selectList() -> List 리턴 -> select 문 실행 / 결과가 0 이상이면 된다.
sqlSession.selectOne() -> 도메인 객체 리턴 -> select 문 실행 / 결과가 1개 만들어지는 select 문이어야 한다.
alias
alias는 대소문자를 구분하지 않는다
참고!
=> 자바 primitive type과 wrapper 클래스, String 클래스,
일부 유틸리티 클래스 등에 대해서는 mybatis가 미리 별명을 지정하였다.
=> 예)
int -> _int
float -> _float
java.lang.Integer -> int
java.lang.Float -> float
java.lang.String -> string
java.util.Map -> map
java.util.HashMap -> hashMap
SQL 문에 값 삽입하기 : in-parameter 지정하기
=> parameterType에 지정된 객체의 프로퍼티 명을 사용하여 값을 삽입한다.
예) #{프로퍼티명}
=> paramterType이 primitive/String/wrapper class 인 경우 아무 이름을 적어도 된다.
예) #{아무이름}
=> parameterType이 Map 객체인 경우는 Map에 저장된 값의 key를 적는다.
예) #{key}
=> parameterType에 지정할 수 있는 타입:
int => _int
Integer => int
String => string
Map => map
HashMap => hashmap
Board => board
xml entity
XML 파서가 혼동을 일으킬 수 있는(XML 파싱 오류 발생) 문자를 사용할 때 그 문자 대신 XML Entity를 사용하라.
" => "
' => '
& => &
< => <
> => >
CDATA 섹션
XML 파서(parser)에게 해당 블록의 내용물이 단순 텍스트임을 알려주는 명령이다.
- 문법
- 내용물 안에 XML 파서가 혼동을 일으킬 문자가 많을 때 사용하기 적합하다.
'Project' 카테고리의 다른 글
서블릿 기술의 등장, 서블릿 구조, 구현체의 버전과 프로그래밍, Tomcat 서버 구성요소, 서블릿 프로그래밍 준비 (0) | 2021.11.04 |
---|---|
Application Architecture, Application Server, web Application Server (0) | 2021.11.04 |
Mybatis persistence Framework, Data Persistence Framework (0) | 2021.10.20 |
DB 모델링, DB 모델링 절차 (0) | 2021.10.20 |
sql , sql 삽입공격, 값이 놓일 자리 ? (0) | 2021.10.20 |