티스토리 뷰
아래 링크를 통해 가입시 바이낸스 코인 거래수수료 25% 평생할인!
25% lifetime discount on Binance Coin transaction fees when you sign up through the link below!
https://accounts.binance.com/en/register?ref=286562663
Log In | Binance
login-description
accounts.binance.com
바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! (바이낸스 가입 레퍼럴코드, 추천
바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! 바이낸스 가입코드, 레퍼럴코드, 추천코드, 할인코드 : ( 286562663 ) 아래 링크를 통해 가입시 25% 할인 받을 수 있습니다 http
pink24.tistory.com
Springi Batis 7-2 SqlMap 설정
SqlMapConfig.xml 파일 설정
데이터베이스 접속에서부터 실제 사용할 SQL Map 들까지 모든 정보들을 프레임워크에 제공하는 SQL Map Config 파일 설정
<settings>
lazyLoadingEnabled : 늦은 로딩(데이터 사용시 select)을 사용할지 여부(기본값: true)
cacheModelsEnabled : 캐시를 사용할지 여부(기본값 : true)
enhancementEnabled : 런타임시 늦은 로딩 기능 향상 여부(CGLIB 필요) (기본값: true)
useStatementNamespace : sql 호출시 namespace 사용 여부 (기본값: false)
maxRequests : 한꺼번에 SQL문을 수행할 수 있는 쓰레드의 수 (기본값 : 512)
maxSessions : 주어진 시간동안 활성화될 수 있는 세션의 수(기본값 : 128)
maxTransactions : 한꺼번에 SqlMapClient.startTransaction()에 들어갈 수 있는 쓰레드의 최대 개수 (기본값 : 32)
<properties>
Resource : 클래스패스 상에 있는 리소스 (혹은 파일)
url : Uniform Resource Locator (URL)
<typeAlias>
alias : 클래스의 별칭을 정의
type : 실제 클래스의 완전한 이름
기본적으로 내장된 몇몇 typeAlias 값
JDBC : com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig
JTA : com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig
EXTERNAL : com.ibatis.sqlmap.engine.transaction.external.ExternalTransactionConfig
SIMPLE : com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory
DBCP : com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory
JNDI : com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory
string : java.lang.String
int/integer : java.lang.Integer
object : java.lang.Object
map : java.util.Map
hashmap : java.util.HashMap
list : java.util.List
arraylist : java.util.ArrayList
<transactionManager>
type : 사용할 트랜잭션 관리자를 표시
<dataSource> : 사용할 데이터소스 팩토리 지정
Spring JDBC에서의 Transaction Manager 와 동일
<sqlMap>
resource : 클래스패스에 있는 SQL Map 파일
url : Uniform Resource Locator (URL)
SqlMapConfig.xml 파일 예
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<properties resource="sqlMapConfig.properties" />
<settings
cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="32"
maxSessions="10" maxTransactions="5"
useStatementNamespaces="false" />
<typeAlias type="com.sds.hr.vo.Country" alias="country" />
<transactionManager type="JDBC" >
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/multicampus/biz/user/user-mapping.xml" />
</sqlMapConfig>
Mapped Statements
statement, select, insert, update, delete, procedure
statement는 자주 사용되지 않음.
엘리먼트 | 속성 | 자식 요소 | 메소드 |
<select> | id parameterClass resultClass parameterMap resultMap cacheModel |
모든 동적인 요소 | 모든 데이터 조회 |
<insert> | id parameterClass parameterMap |
모든 동적인 요소 <selectKey> |
데이터 입력 |
<update> | id parameterClass parameterMap |
모든 동적인 요소 | 데이터 수정 |
<delete> | id parameterClass parameterMap |
모든 동적인 요소 | 데이터 삭제 |
Mapped Statements 사용하기
<select /> 요소
데이터를 조회하는 기본적인 구문을 작성할 때 사용. select 구문 사용
<sqlMap>
<select id="getUser" parameterClass="string"
resultClass="com.multicampus.biz.vo.UserVO" >
SELECT ID, PASSWORD, NAME, ROLE
FROM USERS WHERE ID=#id#
</select>
</sqlMap>
<insert /> 요소
insert sql 구문 사용. <selectKey /> 요소를 포함할 수 있음.
<sqlMap>
<insert id="addBoard" parameterClass="com.multicampus.biz.vo.BoardVO">
<selectKey keyProperty="seq" resultClass="int">
SELECT BOARD_SEQ.NEXTVAL AS SEQ FROM DUAL
</selectKey>
INSERT INTO BOARD(SEQ, TITLE, WRITER, CONTENT)
VALUES (#seq#, #title#, #writer#, #content#)
</insert>
</sqlMap>
<update />, <delete /> 요소
<sqlMap>
<update id="updateUser">
UPDATE BOARD SET TITLE=#title#, CONTENT=#content#
WHERE SEQ=#seq#
</update>
<delete id="deleteUser">
DELETE BOARD
WHERE SEQ=#seq#
</delete>
</sqlMap>
Mapped Statements 속성
id 속성
매핑 파일을 검색하기 위한 key값. Unique해야 함.
parameterClass 속성
자바클래스의 전체 경로를 포함한 이름을 지정함.
여러 개의 데이터를 전달하기 위해 VO 객체를 사용할 때 지정함.
이름이 너무 긴 경우 <typeAlias /> 엘리컨트를 이용해 별칭을 사용할 수 있음
VO 객체의 각 속성을 파라미터로 전달
파라미터의 명시적 지정을 위해 해쉬 사용 : #property#
<typeAlias alias="user" type="com.multicampus.biz.user.vo.UserVO"/>
<insert id="insertUser" parameterClass="user">
INSERT INTO USERS(ID, PASSWORD, NAMD, ROLE)
VALUES(#id#, #password#, #name#, #role#)
</insert>
parameterMap 속성
parameter의 속성 순서를 지정하고 SQL 문에서는 해쉬 대신에 ?를 사용할 수있음.
<sqlMap>
<parameterMap id="userParaMap" class="com.multicampus.biz.vo.UserVO">
<parameter property="id" />
<parameter property="password" />
<parameter property="name" />
<parameter property="role" />
</parameterMap>
<insert id="insertUserUseParaMap" parameterMap="userParaMap">
INSERT INTO USERS(ID, PASSWORD, NAME, ROLE)
VALUES (?, ?, ?, ?)
</insert>
</sqlMap>
resultClass 속성
ResultSetMetaData에 기반하여 VO객체의 속성에 자동 매핑시킴
VO 객체의 속성명과 SQL문으로 조회된 결과 필드명이 일치하는 경우 자동 매핑함.
단점 : type 명시불가, 관련 데이터 자동 로드 기능 없음. 약간의 성능 저하
<sqlMap>
<typeAlias alias="user" type="com.multicampus.biz.user.vo.UserVO"/>
<select id="getUser" parameterClass="string" resultClass="user">
SELECT ID, PASSWORD, NAME, ROLE FROM USERS WHERE ID=#id#
</select>
</sqlMap>
resultMap 속성
조회된 결과물의 필드명과 VO객체의 속성명이 일치하지 않는 경우 직접 명시적으로 매핑할 수 있음
<sqlMap>
<resultMap id="userResultMap" class="com.multicampus.biz.vo.UserVO">
<result property="id" column="ID" />
<result property="password" column="PWD" />
<result property="name" column="NAME" />
<result property="role" column="ROLE" />
</resultMap>
<select id="getUserList" resultMap="userResultMap">
SELECT * FROM USERS
</select>
</sqlMap>
바이낸스 코인 거래수수료 25% 평생할인받기
바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! (바이낸스 가입 레퍼럴코드, 추천
바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! 바이낸스 가입코드, 레퍼럴코드, 추천코드, 할인코드 : ( 286562663 ) 아래 링크를 통해 가입시 25% 할인 받을 수 있습니다 http
pink24.tistory.com
비트코인 바이낸스 거래소 선물거래, 마진거래방법 가이드 - 바이낸스 회원가입(계정생성)
비트코인 바이낸스 선물거래, 마진거래 방법 feat.바이낸스 회원가입
바이낸스 거래소 선물 및 마진거래 방법! ------------------------------------------------------------------------ 1. 바이낸스 회원가입 2. 국내코인거래소에서 코인을 구매 후 바이낸스 지갑으로 전송. 3...
pink24.tistory.com
비트코인 바이낸스 마진거래방법, 선물거래방법 - USDT
바이낸스 선물, 마진거래 방법 (USDT)
Usdt 거래에 필요한 기존 단계들은 아래 링크드린 이전 포스팅을 참고해주세요 https://pink24.tistory.com/9 비트코인 바이낸스 선물거래, 마진거래 방법 feat.바이낸스 회원가입 바이낸스 거래소 선물
pink24.tistory.com