S2DAO参考

s2dao特点:

1.s2dao通过Java source code建立O/R mapping;而不是像常见的O/R mapping framework那样利用xml。

2.可以定义sql command文件,并可以在sql plus中执行这个sql command文件;s2dao可以读取这个sql command 文件;

 

应用:

适用s2dao必须要创建下列文件:

(1)javabeans:对应数据库中table的映射,一般情况下我们可以称他为dto;

(2)Dao(*.java)

(3)sql文件

(4)dicon文件

说明:

Table: EMP

Column Name Type NotNull Primary Key
EMPNO NUMBER yes yes
ENAME VARCHAR

DEPTNUM NUMBER


Table: DEPT
Column Name Type NotNull Primary Key
DEPTNO NUMBER yes yes
DNAME VARCHAR

(一)javabean(dto)说明

1.我们可以以如下方式定义dto

 表的声明:

public static final String TABLE = "table name";

例如:

public static final String TABLE = "EMP";

列的声明:

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

例如:

public static final String employeeNO_COLUMN = "EMPNO";

其中:EMPNO 对应表emp的empno字段名称;employeeNO是在dto中声明的一个property并存在相应的get(),set()方法,如: private String employeeNO;

3.建立表间关系

必须要声明RELNO 和 RELKEYS

public static final int Property name_RELNO = value;

public static final String Property name_RELKEYS = "外键:主键";

 4.自动生成ID,利用DBMS中的sequence

public static final String id_ID = "identity";
例如:
public static final String id_ID = "sequence, sequenceName=myseq";
 
(二)dao说明
dao被定义成一个interface;一般情况下dao和前面说到得javabean(dto)是一对一的对应关系;
同时dao中的一个方法,对应一个相应的sql文件;
对应javabean的方式:
public static final Class BEAN = JavaBeans name.class;
例如:
public static final Class BEAN = Employee.class;
其中Employee为对应javabean(dto)的名称
ARGS 声明:
public static final String method name_ARGS = " argument name";
argument name对应table中的column;如果有多个列的话,用,分割;
对应sql命令文件的方式:
public static final String sql命令文件名称_ARGS = “arguments”;
public List<dto></dto> sql命令文件名称(arguments)
(三)sql命令文件
sql命令文件的命名规则:dao名称_dao中方法名称.sql;
例如: EmployeeDao_getAllEmployees.sql
同时sql命令文件也可以直接在sql plus中进行调试;
 
(四)dicon
dicon的作用是将dao注册成container中的一个component;同时也可以注册aop;
例如:
<components></components>
 
  1. <components>    
  2.     <component class="example.dao.EmployeeDao">  
  3.         <aspect>dao.interceptoraspect>  
  4.     component>  
  5. components>  
xml 代码
其中
<component class="example.dao.EmployeeDao" name="employee">
 
xml 代码
  1. <component class="example.dao.EmployeeDao">   

</component>
就相当于 
EmployeeDao employee = new EmployeeDao();

 

 
 

你可能感兴趣的:(DAO,AOP,sql,bean,jpa)