테스트용 코드관리 모듈 개발 #1 SqlMap : Struts2 + iBATIS is Sample
728x90
반응형
Oracle Schema
-- DROP TABLE COMMON_CODE CASCADE CONSTRAINTS;
CREATE TABLE COMMON_CODE (
CODE_ID CHAR(3) NOT NULL,
CODE_TITLE VARCHAR2(250) NULL,
CODE_COMMENT VARCHAR2(3000) NULL,
CODE_PARENT CHAR(3) NULL,
CODE_CHILD CHAR(3) NULL,
CODE_USE CHAR(1) DEFAULT 'N' NOT NULL,
CODE_RDATE DATE NULL
);
CREATE UNIQUE INDEX XPKCOMMON_CODE ON COMMON_CODE
(
CODE_ID ASC
);
ALTER TABLE COMMON_CODE
ADD ( PRIMARY KEY (CODE_ID) ) ;
CodeSqlMap.xml : iBatis Map 설정
<?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>
<!-- // iBatis 프로퍼티 설정 정보 불러옴 -->
<properties resource="SqlMapConfig.properties" />
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
<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>
-->
<dataSource type="JNDI">
<!-- // iBatis 프로퍼티 data_source_name 정보 불러옴 -->
<property name="DataSource" value="${data_source_name}" />
</dataSource>
</transactionManager>
<!-- // 쿼리스트링을 보유한 sqlMap 을 정의함 -->
<sqlMap resource="com/xf/modules/code/CodeSql.xml"/>
</sqlMapConfig>
CodeSql.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">
<!--
/**
* @xml CodeSql
* @brief 코드관리
*
* registered date 20090327
* updated date 20090327
* programmed by Seok Kyun. Choi. (최석균)
* http://syaku.tistory.com
*/
-->
<sqlMap namespace="CodeSql">
<typeAlias alias="CodeModel" type="com.xf.modules.code.CodeModel"/>
<!-- @ 일반 컬럼 -->
<sql id="coulmns-code">
CODE_ID,
CODE_TITLE,
CODE_COMMENT,
CODE_PARENT,
CODE_CHILD,
CODE_USE,
CODE_RDATE
</sql>
<!-- @ 조인 컬럼 -->
<sql id="join-coulmns-code">
CC.CODE_ID,
CC.CODE_TITLE,
CC.CODE_COMMENT,
CC.CODE_PARENT,
CC.CODE_CHILD,
CC.CODE_USE,
CC.CODE_RDATE
</sql>
<!--@ 전체 레코드 -->
<select id="select-code" parameterClass="CodeModel" resultClass="CodeModel">
SELECT
<include refid="coulmns-code" />
FROM COMMON_CODE
<isNotEmpty prepend="WHERE" property="code_id" >
code_id = #code_id#
</isNotEmpty>
</select>
<!-- @ 전체 레코드 수 -->
<select id="select-code-count" parameterClass="CodeModel" resultClass="int">
SELECT COUNT(CODE_ID) FROM COMMON_CODE
</select>
<!--@ insert -->
<insert id="insert-code" parameterClass="CodeModel">
INSERT INTO COMMON_CODE
(
CODE_ID,
CODE_TITLE,
CODE_COMMENT,
CODE_PARENT,
CODE_CHILD,
CODE_USE,
CODE_RDATE
) VALUES (
#code_id#,
#code_title#,
#code_comment#,
#code_parent#,
#code_child#,
#code_use#,
SYSDATE
)
</insert>
<!--@ update -->
<update id="update-code" parameterClass="CodeModel">
UPDATE COMMON_CODE SET
CODE_TITLE = #code_title#,
CODE_COMMENT = #code_comment#,
CODE_USE = #code_use#
WHERE CODE_ID = #code_id#
</update>
<!--@ delete -->
<delete id="delete-code" parameterClass="CodeModel">
DELETE FROM COMMON_CODE WHERE code_id = #code_id#
</delete>
</sqlMap>
struts.xml : 스트럿츠 기본
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<include file="com/xf/modules/code/Code.xml" />
</struts>
Code.xml : 액션 처리<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="code" namespace="/xf/code" extends="struts-default">
<default-action-ref name="CodeAdmin" />
<action name="CodeAdmin" class="com.xf.modules.code.CodeAction">
<result name="list">/xf/modules/code/default/code.admin.list.jsp</result>
<result name="input">/xf/modules/code/default/code.admin.input.jsp</result>
<result type="redirectAction">
<param name="actionName">CodeAdmin</param>
</result>
</action>
</package>
</struts>
CodeModel.java : 코드관리 모델/**
* @class CodeModel
* @brief 코드관리
*
* registered date 20090327
* updated date 20090327
* programmed by Seok Kyun. Choi. (최석균)
* http://syaku.tistory.com
*/
package com.xf.modules.code;
import java.util.Date;
public class CodeModel {
private String code_id;
private String code_title;
private String code_comment;
private String code_parent;
private String code_child;
private String code_use;
private Date code_rdate;
public String getCode_id() { return code_id; }
public void setCode_id(String code_id) { this.code_id = code_id; }
public String getCode_title() { return code_title; }
public void setCode_title(String code_title) { this.code_title = code_title; }
public String getCode_comment() { return code_comment; }
public void setCode_comment(String code_comment) { this.code_comment = code_comment; }
public String getCode_parent() { return code_parent; }
public void setCode_parent(String code_parent) { this.code_parent = code_parent; }
public String getCode_child() { return code_child; }
public void setCode_child(String code_child) { this.code_child = code_child; }
public String getCode_use() { return code_use; }
public void setCode_use(String code_use) { this.code_use = code_use; }
public Date getCode_rdate() { return code_rdate; }
public void setCode_rdate(Date code_rdate) { this.code_rdate = code_rdate; }
}
written by Seok Kyun. Choi. 최석균.
http://www.cyworld.com/syaku
http://syaku.tistory.com
728x90
반응형
'개발노트 > Struts2' 카테고리의 다른 글
| 테스트용 코드관리 모듈 개발 #3 입력화면 : Struts2 + iBATIS is Sample (0) | 2009.04.08 |
|---|---|
| 테스트용 코드관리 모듈 개발 #2 ActionMap : Struts2 + iBATIS is Sample (0) | 2009.04.08 |
| 스트럿츠2 목록출력하기 : Struts2+iBATIS (0) | 2009.04.08 |
| [Struts2+iBATIS]스트럿츠2 + iBatis 셋팅 (2) | 2009.04.07 |