论坛首页 Java企业应用论坛

S2DAO参考

浏览 4542 次
锁定老帖子 主题:S2DAO参考
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-27  

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();

 

 
 
   发表时间:2007-12-07  
兄弟,您是对日外包的?
0 请登录后投票
   发表时间:2007-12-07  
lz,你好。您会用seasar整合jpa吗?我弄了半天配置总是弄不好。
0 请登录后投票
   发表时间:2007-12-15  
jpa还真不了解,呵呵,因为用到seasar,有没有找到合适资料,只好到官方网站翻译了一篇,错误之处请指正
0 请登录后投票
   发表时间:2008-10-19  
兄弟能帮帮我吗,,那个S2Dao的IN的问题我也有!请求帮助!
还有删除处理,我也写了个借口,还有个SQL文件,但是不好使,请求帮助!
0 请登录后投票
   发表时间:2008-10-19  
文件碎片太多。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics