XSQL基础(二)

来源:互联网 发布:淘宝手机端主图模糊 编辑:程序博客网 时间:2024/06/04 17:57
继续说一些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类 

   例如: 

import java.sql.SQLException;import org.w3c.dom.Element;import org.w3c.dom.Node;import oracle.xml.xsql.XSQLActionHandlerImpl;import oracle.xml.xsql.XSQLPageRequest;public class TestXsql extends XSQLActionHandlerImpl{         private String userId ="";public void init(XSQLPageRequest env,Element e){super.init(env,e);             //取得从XSQL文件传递过来的参数             this.userId=this.getAttributeAllowingParam("userId",e);}public void handleAction(Node arg0) throws SQLException {}}
init()这个方法能帮助我们取到从XSQL文件传过来的参数; 
handleAction()方法就是实现我们的具体业务; 
b)在XSQLConfig.xml文件中定义自己的标签,然后关联我们新建的类 
<action> 
    <elementname>TestXsql</elementname> 
    <handlerclass>com.csair.minorenterprises.TestXsql</handlerclass> 
</action> 
c)在XSQL文件中使用我们定义的标签 
<xsql:TestXsql userId="{@userId}"/> 
到这自定义标签就基本完成了... 

原创粉丝点击