XSQL基础(二)

继续说一些XSQL里面的标签: 
1.<xsql:dml> 执行SQL语句块 
  例如:可以执行多条SQL语句 
<xsql:dml error-param="deleteError" commit="no"> 
begin 
delete from ADMINUSER where ADMINID = {@adminid}; 

insert into ADMINOPERATELOG(LOGID,OPUSERID,OPTYPE,ENTERPRICEID,ELEMENT,OPTIME) select ADMINUSER_LOG_SEQUENCE.NEXTVAL,'{@userid}','DELETE','','企业用户账号为: {@adminuserid}被删除',sysdate from dual; 
end; 
</xsql:dml> 
当然也可以:<xsql:dml>commit</xsql:dml>或者<xsql:dml>rollback</xsql:dml>等用法 

2.<xsql:query>执行查询的SQL语句返回的结果在XML文件中 
  例如:这个标签有比较多的属性,row-element 设置XML文件中ROW的名字;rowset-element 设置XML文件中ROWSET的名字等 
<xsql:query> 
    select * from Emp 
</xsql:query> 

3.自定义标签:由于在具体项目当中,可能这些现有的标签不能满足我们的需求,于是我们就可以根据需求做一个自定义的标签,下面简单介绍一下自定义标签的流程: 
a)首先新建一个JAVA方法,继承XSQLActionHandlerImpl类 
   例如: 

Java代码   收藏代码
  1. import  java.sql.SQLException;  
  2.   
  3. import  org.w3c.dom.Element;  
  4. import  org.w3c.dom.Node;  
  5.   
  6. import  oracle.xml.xsql.XSQLActionHandlerImpl;  
  7. import  oracle.xml.xsql.XSQLPageRequest;  
  8.   
  9. public   class  TestXsql  extends  XSQLActionHandlerImpl{  
  10.       
  11.          private  String userId = "" ;  
  12.     public   void  init(XSQLPageRequest env,Element e){  
  13.         super .init(env,e);  
  14.              //取得从XSQL文件传递过来的参数   
  15.              this .userId= this .getAttributeAllowingParam( "userId" ,e);  
  16.     }  
  17.     public   void  handleAction(Node arg0)  throws  SQLException {  
  18.           
  19.     }  
  20. }  

init()这个方法能帮助我们取到从XSQL文件传过来的参数; 
handleAction()方法就是实现我们的具体业务; 
b)在XSQLConfig.xml文件中定义自己的标签,然后关联我们新建的类 
<action> 
    <elementname>TestXsql</elementname> 
    <handlerclass>com.csair.minorenterprises.TestXsql</handlerclass> 
</action> 
c)在XSQL文件中使用我们定义的标签 
<xsql:TestXsql userId="{@userId}"/> 
到这自定义标签就基本完成了... 

下面的附件包含了一个XSQL的帮助文档和XSQLConfig.xml文件的详细说明 

你可能感兴趣的:(xsql)