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
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 件のコメント:
コメントを投稿