본문 바로가기

db

[DB] iBatis selectKey iBatis selectKey Sequence 사용시 값을 가져와야하는 경우에 사용.SELECT ISNULL(MAX(SEQ) + 1, 1) FROM MEMBERINSERT INTO MEMBER(SEQ, NAME, ADDRESS) VALUES (#seq#, #name#, #address#) insert만 한다면 아래 같이 작성할 수 있다. INSERT INTO MEMBER(SEQ, NAME, ADDRESS) VALUES (SEQ.NEXTVAL, #name#, #address#) 더보기
[DB] iBatis 동적 쿼리 iBatis 동적쿼리 이항연산 property가 compareProperty or compareValue와 같은지 검사 property가 compareProperty or compareValue와 같지 않은지 검사 property가 compareProperty 값 또는 compareValue의 값보다 큰지 검사 property가 compareProperty 값 또는 compareValue의 값보다 크거나 같은지 검사 property가 compareProperty 값 또는 compareValue의 값보다 작은지 검사 property가 compareProperty 값 또는 compareValue의 값보다 작거나 같은지 검사 단항연산 property가 parameter에 있는지 검사. Beans에서는 prop.. 더보기
[DB] MS-SQL INSERT SELECT, UPDATE SELECT 문 MS-SQL INSERT SELECT, UPDATE SELECT 문 일반적인 UPDATE 문UPDATE 테이블명 SET 필드명 = 값 WHERE 조건문 UPDATE - SELECT 문UPDATE 테이블명A SET 피드명 = 테이블명B.필드명FROM 테이블명A JOIN 테이블명B ON 조인조건 (A.필드명 = B.필드명) 일반적인 INSERT 문INSERT INTO 테이블명필드명VALUES값 INSERT - SELECT 문INSERT INTO 테이블명필드명SELECT 필드명, ... FROM 테이블명WHERE 조건문 EX)INSERT INTO MEMBER(NAME, AGE) SELECTNAME,AGEFROM OLD_MEMBERWHERE USE_YN = 'Y' 주의사항은 INSERT하는 컬럼 수, 컬럼 타입.. 더보기
[DB] MSSQL 날짜 계산 MSSQL 날짜 계산 dateadd 월의 마지막 날 / 월의 첫째날select dateadd(month,1,getdate())-day(getdate()) select dateadd(day,-(day(getdate()-1)), getdate()) 하루 후 / 하루 전select dateadd(day,1,getdate())select dateadd(day,-1,getdate()) 한달 뒤 / 한달 전select dateadd(month,1,getdate()) select dateadd(month,-1,getdate()) 1년 뒤 / 1년 전select dateadd(year,1,getdate()) select dateadd(year,-1,getdate()) datediff datediff( 시간단위구분자, .. 더보기
[DB] iBatis resultMap null 처리 iBatis resultMap null 처리 org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; --- The error occurred while applying a result map. --- The error happened while setting a property on the result object. SELECT 구문 실행시 위와 같은 에러가 나왔다. 내 경우는 VO객체에 생성한 getter, setter가 null값일 경우 나는 에러였는데 null 처리 방법은 여러가지가 있겠지만.. 더보기
[DB] iBatis(MyBatis) Map, List 형식으로 받기 iBatis(MyBatis) Map, List 형식으로 받기 보통 루프문으로 List를 돌면서 DAO에 삽입하는데, iBatis(MyBatis)에서 Map이나 List로받아 처리하는 방법도 있다. 뭐가 더 효율적인지는 알아봐야겠다.. iBatis1. Map 형태INSERT INTO EXAMPLE(SEQ, A, B, C, D) ( #List[].seq# , #List[].a#, #List[].b#, #List[].c#, #List[].d#) 2. List 형태INSERT INTO EXAMPLE(SEQ, A, B, C, D) VALUES( #[].seq# , #List[].a#, #List[].b#, #List[].c#, #List[].d#) mybatisINSERT INTO EXAMPLE(SEQ, A, B.. 더보기
[DB] iBatis CommonDAO DAO에 SqlMapClient Bean 주입 org.apache.ibatisibatis-sqlmap2.3.0org.springframeworkspring-orm3.0.2.RELEASE ibatisDao.javapackage web.common.dao; import java.util.List;import java.util.Map; import org.springframework.dao.DataAccessException; import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.event.RowHandler; public interface ibatisDao {public Object insert(String statement.. 더보기
[DB] Oracle DB Link 연결 Oracle DB Link 연결 DB LINK 조회SELECT * FROM ALL_DB_LINKS; OWNER : 계정명 or PUBLICDB_LINK : 디비 링크 설정명USERNAME : 계정명HOST : TNS 설정명CREATED : 생성날짜 테이블 접근 ex) SELECT * FROM 테이블명@DBLINK명; 더보기
[DB] OracleTypeHandler - Oracle Characterset Oracle Characterset 개발하던 Oracle nls_characterset 이 KO16MSWIN949 인데고객사 nls_lang 은 AMERICAN_AMERICA.US7ASCII 이다.한글이 지원되지 않는 CHARSET으로 설정된 오라클 데이터베이스를사용할 경우 변환을 도와준다.그래서 간단한 sql-map-config.xml 설정으로 잡아 줄 수 있었다. OracleUsTypeHandler.javapackage web.common.util; import java.io.UnsupportedEncodingException;import java.sql.SQLException; import org.slf4j.Logger;import org.slf4j.LoggerFactory; import com.i.. 더보기
[DB] Eclipse와 MySQL 연동확인하기 Eclipse와 MySQL 연동확인하기 Eclipse Data Source Explorer 설정시 Connection 확인을 할 수 있지만소스를 이용해 확인하는 방법이다. package com.mycompany.sample;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class DriverTest {public static void main(String args[]) { Connection conn; try {Class.forName("com.mysql.jdbc.Driver").newInstance();conn = DriverManager.getConnection("jdbc:mysq.. 더보기