使用Wabacus实现增删查改
一、 搭建框架:
a) 到下载最新版le/p/wabacus/downloads/list,这里我下载到的是wabacus3.5-release.zip。
b) 建一个Web工程,解压wabacus3.5-release.zip,并把wabacus-3.5.jar和【依赖的第三方jar包】文件夹中所有jar包放到工程的WEB-INF\lib中。
c) 在samples文件夹中,解压任意一个工程,这里我解压了WabacusBlank_project.zip。并在解压后的文件夹(后面简称【例子】)的WebRoot中,到webresources这个文件夹,把它复制到工程里的Web根目录下。
d) 在工程里的WEB-INF下的l中,加入如下代码:
<servlet>
<servlet-name>wabacus</servlet-name>
<servlet-class>com.wabacus.WabacusServlet</servlet-class>
<init-param>
<param-name>configpath</param-name>
<param-value>classpath{/reportconfig}</param-value>
</init-param>
<load-on-startup>20</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>wabacus</servlet-name>
<url-pattern>/ShowReport.wx</url-pattern>
</servlet-mapping>
其中com.wabacus.WabacusServlet是wabacus的启动Servlet,configpath参数设置的是wabacus核心配置文件(l)的位置,这里我放在classpath下。/ShowReport.wx是Servlet的请求路径,一会会用得到! 当然也可以改成自己喜欢的。
e) 把【例子】目录的src目录中的reportconfig目录复制到工程的src文件夹下,之后把src/reportconfig目录下的resources目录和l文件删掉。
f) 修改reportconfig目录下的l文件,
1) <system>标签
A、 name为webroot的<item>子标签的value值修改为你的应用的根URL,这里开发时直接改成你的工程的名字就可以了。
B、 name为showreport-url的<item>子标签的value值修改为刚才l中配置的url-pattern的值。如:/ShowReport.wx
2) <datasources>标签
A、把default属性改为我们要使用的数据库对应的<datasource>标签的name属性的值。
B、修改<datasource>标签相应的配置信息,如url、username、password等。比如我们选择的是mysql,就应该在mysql对应的<datasource>标签上修改类似如下信息:
<property name="url">
<![CDATA[jdbc:mysql://localhost/wabacus?useUnicode=true&characterEncoding=UTF-8]]>
</property>
<property name="user">root</property>
<property 基本的增删改查语句name="password">mysql</property>
3)< i18n-resources>标签
这里,我们不需要支持国际化,只要支持中文就行。所以这个标签直接去掉。
4)<report-files>标签
这里配置的是报表(report-file)的信息。报表就是我们一会要写到的配置文件。它默认是只有如下这一段配置,没有的话请加上
<report-file>l</report-file>
这里代表引用了report目录下的l,其中report目录是在reportconfig目录下的,也就是说这里的路径配置是相对于reportconfig的。事实上,l中的所有与路径有关的配置信息都是相对于l所处的路径,这里我们的l文件所处的路径是src/reportconfig。
而l是一会要写的配置文件。如果有多个,只要配置多个
<report-file>就行了
二、 编写l实现增删查改。
a) 根据上面在<datasources>标签所选择的数据库建相关的database和table。这里我建一
个Person表,代表一个人。
Person表设计如下:
字段名称 | 字段类型 | 字段大小 | 是否为空 | 备注 |
id | INT | 4 | 否 | ID号(主键) |
realname | VARCHAR | 20 | 否 | 真实姓名 |
age | INT | 4 | 否 | 年龄 |
birthday | VARCHAR | 20 | 否 | 出生日期 |
sex | VARCHAR | 1 | 否 | 性别 |
这里我使用mysql数据库
其中建表语句:
create table Person(id int auto_increment primary key,realname varchar(20),age int,birthday varchar(20),sex varchar(1));
b) 在src/l(如果没,则建一个)中添加如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<applications xmlns="www.wabacus"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="www.wabacus ../xsd/wabacus.applications.xsd">
<page id="listpage1">
<report id="report1" type="editablelist2" title="人员信息列表" dataexport="richexcel">
<display>
<col column="id" label="序号" displaytype="hidden"/>
<col column="realname" label="真实姓名" clickorderby="true" />
<group label="基本信息">
<col column="sex" label="性别">
<inputbox type="selectbox">
<option value="1" label="男"></option>
<option value="2" label="女"></option>
</inputbox>
</col>
<col column="age" label="年龄" clickorderby="true"/>
<col column="birthday" label="出生日期" clickorderby="true">
<inputbox type="datepicker"></inputbox>
</col>
</group>
</display>
<sql>
<select>
<value>
<![CDATA[select * from Person where {#condition#} order by realname]]>
</value>
<condition name="searchRealName" label="真实姓名">
<value>
<![CDATA[(realname like '%#data#%' )]]>
</value>
</condition>
<condition name="searchSex" label="性别">
<value>
<![CDATA[(sex = #data# )]]>
</value>
<inputbox type="radiobox">
<option value="1" label="男"></option>
<option value="2" label="女"></option>
</inputbox>
</condition>
<condition name="searchSex" label="性别">
<value>
<![CDATA[(birthday like '%#data#%' )]]>
</value>
<inputbox type="datepicker">
</inputbox>
</condition>
</select>
<insert>
insert into Person(@{realname},@{age},@{birthday},@{sex});
</insert>
<update>
update Person(realname=@{realname},age=@{age},birthday=@{birthday},sex=@{sex})
where id=@{id};
</update>
<delete>
delete from Person where id=@{id};
</delete>
</sql>
<format>
<value>
sex=sex==null?"1":im();
if(sex.equals("2"))
sex="女";
else
sex="男";
</value>
</format>
</report>
</page>
</applications>
c) 把工程部署到tomcat,启动tomcat,并在浏览器打开类似于如下的链接:
localhost:8080/wabacus_01/ShowReport.wx?PAGEID=listpage1
其中wabacus_01是上面l配置的<system>标签下的<item>子标签name为webroot的value值,ShowReport.wx是l中配置的url-pattern的值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论