水曜日, 1月 03, 2007

S2Dao

S2Dao нь ерөнхийдөө өгөгдлийн сантай ажилладаг хэсэг юм.S2Dao-г хэрэглэхийн тулд дараах файлуудыг үүсгэх хэрэгтэй.

- JavaBeans
- Dao (.java)
- Dicon файл
- SQL файл (.sql)

Зохион байгуулалтыг дүрслэвэл дараах байдалтай болох юм.












JavaBean нь өгөгдлийн сангийн хүснэгттэй холбогдоно. Доорх жишээг харна уу.

public static final String TABLE = "table name";

public static final String Property name_COLUMN = "column name";

public static final int Property name_RELNO = value;

гэх мэтчилэн өгөгдлийн сангийн хүснэгтийн талбаруудыг зарлана. Түүний дараагаар эдгээр зарласан хувьсагчуудын утгыг хүлээн авах хувьсагчуудыг Bean класстаа зарлаад Getter, Setter-ийг тодохойлж өгөх хэрэгтэй. Жишээ нь: EMP гэдэг хүснэгт нь EMPNO, ENAME, DEPTNUM гэсэн талбаруудтай, мөн DEPT гэдэг хүснэгт нь DEPTNO, DNAME гэсэн талбаруудтай байхад EMP хүснэгтийн Bean класс нь дараах байдалтай болох юм.

import java.io.Serializable;

public class Employee implements Serializable {

public static final String TABLE = "EMP";

public static final int department_RELNO = 0;

public static final String department_RELKEYS = "DEPTNUM:DEPTNO";

private long empno;

private String ename;

private Short deptnum;

private Department department;

public Employee() { }

public Department getDepartment() {

return department;

}

public void setDepartment(Department department) {

this.department = department;

}

public Short getDeptnum() {

return deptnum;

}

public void setDeptnum(Short deptnum) {

this.deptnum = deptnum;

}

public long getEmpno() {

return empno;

}

public void setEmpno(long empno) {

this.empno = empno;

}

public String getEname() {

return ename;

}

public void setEname(String ename) {

this.ename = ename;

}}


Dao нь Interface байдлаар үүсэх ба дотор нь өгөгдлийн сантай ажиллах method-уудаа зарлана. Method-уудаа ашиглан SQL файлуудтайгаа холбогдож query-ийгээ ажиллуулна. Жишээг харна уу. “class name_method name.sql” гэсэн нэртэйгээр SQL файлын нэр нь тодорхойлогдоно. Учир нь Dao interface-д зарлагдсан method-ийн нэрээрээ SQL файлаа хайж олоод ажиллуулдаг учраас. Жишээ нь:

LoginDao_find.sql

SELECT
ID_SHOKUIN,
KENGEN,
NM_SHOKUIN
FROM M_SHOKUIN WHERE
ID_SHOKUIN = /*dto.idShokuin*/ AND
PASSWORD = /*dto.password*/ AND
KENGEN = 0

Мөн Interface класс-т :

public static final Class BEAN = JavaBeans name.class;

Мөн query-рүү дамжуулах аргументыг тодорхойлно.

public static final String method name_ARGS = " argument name";


S2Dao файлыг ажиллуулах

Дараах 3-н алхамаар ажиллуулна.

1. S2Container-ийн байгуулагчийг ашиглаж үүсгэсэн Dicon файлын замыг зааж өгнө.

2. Үүсгэсэн Container-ийн getComponent method-ийг дуудаж бүртгэгдсэн Dao-г авна.

3. Хүлээн авсан Dao-н method-уудыг дуудаж ажиллуулна.

Жишээ нь:

package examples.dao;

import org.seasar.framework.container.S2Container;

import org.seasar.framework.container.factory.S2ContainerFactory;

public class EmployeeDaoClient {

private static final String PATH = "examples/dao/EmployeeDao.dicon";

public static void main(String[] args) {

S2Container container = S2ContainerFactory.create(PATH); /* step 1 */

container.init();

try {

EmployeeDao dao = (EmployeeDao) container.getComponent(EmployeeDao.class);/*step 2*/

System.out.println(dao.getAllEmployee(7788));/* step3 */

} finally {

container.destroy();

}

}}


Dicon файлд доорх 3 зүйлсийг бүртгэж өгнө.

1. Dao.dicon-ийг агуулах.

2. Үүсгэсэн Dao-ийн компонентыг тодорхойлно.

3. dao.interceptor-ийг хэрэглэх.









Dao.dicon


j2ee.dicon файлд өгөгдлийн сантай холбогдох хэсгийг тохируулж өгнө. Жишээг татаж аваад харна уу.

0 件のコメント: