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 NameTypeNotNullPrimary Key
EMPNONUMBERyesyes
ENAMEVARCHAR

DEPTNUMNUMBER


Table: DEPT
Column NameTypeNotNullPrimary Key
DEPTNONUMBERyesyes
DNAMEVARCHAR

(一)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命令文件的方式:
 
 
(三)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();

 

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值