继续说一些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代码
- 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}"/>
到这自定义标签就基本完成了...
下面的附件包含了一个XSQL的帮助文档和XSQLConfig.xml文件的详细说明