728x90

프로그래머의 삶 Programmer's Life/PersistanceSolution 7

enum 타입으로 싱글톤 패턴(ibatis)

아직 널리 적용되지 않았지만 싱글톤을 구현하는 가장 좋은 방법이라고 하는 enum 타입으로 생성하는 방법을 ibatis instance 를 가져오는 곳에 적용해 보았다.... enum 타입으로 생성할 경우 상당히 간결해지며 복잡한 직렬화나 리플렉션 상황에서도 직렬화가 자동으로 지원되고, 인스턴스가 여러개 생기지 않도록 확실하게 보장해 준다고 한다. /** * @author lvsin - 13thAngel * */ public enum EnumSqlMapConfig { INSTANCE; private static SqlMapClient sqlMapper = null; private static Log log = LogFactory.getLog(SqlMapConfig.class); private SqlMap..

iBATIS TYPEHANDLER (Strnig[] , Integer[] )

* 아이바티스는 DB의 ARRAY 타입을 사용하기 위해서는 사용자 정의 타입 핸들러를 정의하여 사용하여야 한다. String[] 과 Integer[] 의 TypeHandler 에 대해서 해 보았다. lib - commons-lang-2.4.jar ojdbc14.jar ibatis-2.3.4.726.jar log4j-1.2.14.jar 1. 우선 DB에 Type 을 설정 create or replace type VarrTel AS TABLE OF VARCHAR2(20); create or replace type VarrType AS TABLE OF NUMBER; - create or replace type 으로 선언할 시에는 NUMBER 이나 VARCHAR2(20) 이런식으로 꼭 명시를 해줘야 한다. 2...

iBATIS 설정 <settings 부분...- 미완성

여기서 useStatementNamespaces 에 true 로 할 경우 이렇게 여러개의 xml 파일을 리소스로 불러들일때 각 파일의 이나 로 설정을 해야하고 즉..namespace 설정을 하고 쿼리문을 날리기 위한 String id 입력하는곳에~~ 즉... sqlmapper.queryForList("selectALL"); 이런곳 에~ selectALL 이 아니라 Test1.selectALL 이나 Test1.selectALL 으로 하면 된다... 본래 namespace 설정을 안하고 각 resource 파일에 행여나 동일한 이름의 ID가 존재할 경우 아래와 같은 에러가 신나게 뜬다...프로젝트를 혼자 하는것도 아니고..어쩌다가 살다보면 황당하게도 혼자 하게 되더라도....동일한 이름을 사용할 수도 있을 ..

Spring+iBatis 연동시의 주의점 및 참조예제

위와같이 사용한 것 처럼 column 은 대문자로 명시(소문자도 상관이 없긴하지만 Look and Feel!!.....T^T) 특히 이놈도 상당히 예민한지라...오타 같은것에 주의할 것을 요한다. INSERT INTO TEST(ID,PASSWORD,NAME,SSN,ADDRESS,POST,PHONE,EMAIL,MILEAGE,GRADE) values(#id#,#password#,#name#,#ssn#,#address#,#post#,#phone#,#email#,#mileage#,#grade#) SELECT * FROM TEST WHERE id = #id# SELECT * FROM TEST DELETE FROM TEST WHERE id =#id# UPDATE TEST SET ID=#id#,PASSWORD=#pa..

다이나믹쿼리~ by iBatis

---다이나믹쿼리------------------------------------------ SELECT * FROM GENRE GENRENAME LIKE '%$genrename1$%' GENRENAME LIKE '%$genrename2$%' GENRENAME LIKE '%$genrename3$%' GENRENAME LIKE '%$genrename4$%' GENRENAME LIKE '%$genrename5$%' 값이 비어있지 않다면 생성해준다~ statement 를사용하면 '$$' 로 해야 하며~ %%로 검색하기 위해서 statement를 사용 ---간단한 select 문------------------------------------------ SELECT * FROM COUPONE WHERE ID=#..

728x90