基本的增删改查流程

增:点击添加按钮的时候,根据按钮上的href链接进入一个页面,下面有保存按钮,点保存按钮时sbumit一个form表单。这个表单里有一个action方法,就是增加方法。我们根据spring配置文件找到这个action在哪个类里。action里调用service的方法,action中new了一个vo,用它来对页面的值进行接收,在service层将vo转换成po.service层调用dao层,对数据库进行操作。po实体类就是数据库中的。

具体的流程就是:添加按钮→ 一个Add添加页面→保存按钮→form表单→表单中写的addAction方法→Action类中的那个add方法→service层vo和po转换→dao层数据交互。最后看一下struts和spring配置文件要写好。   οnsubmit="return validateCallback(this,dialogAjaxDoneAdd)"这个回调函数要写好。action中添加成功的返回信息要写好。


查:findXXXByPage方法。具体也是这个流程,先看页面,然后点左边的模块标题时要跳转到findXXXByPage.action中→在struts中这个方法对应的一个页面→页面中显示时写 <td>${adverType}</td>比如这样。这是po中的一个属性。→action中new了一个po类,对po进行操作,action调用service层的方法,service调用dao层的方法。

删:删除按钮→一个remove方法→action层的方法→service层→dao层。页面中通过 rel="adverIds"   <input name="adverIds" 来把多选中的信息传到action中。

双击: <tr  οndblclick="XXX();">双击列表时一个方法,上面这个方法去调用一个隐含域。<div style="display:none">这个隐含域中去执行一个双击的方法,通过传入id到action中来得到信息。action→service→dao。

更新:<button type="button" οnclick="updateXXXX();">修改</button>点修改按钮时执行这个方法,从上面的js中找到这个方法是让显示表格隐藏,让可编辑表格显示。返回按钮与此相对。点保存时submit提交一个form表单,执行一个updateXXXX.action.  service →dao层。

主要流程就是 先看页面,然后看什么时候你要去执行一个action方法,action中new了一个vo,对页面的值进行操作,action中调用service层,对vo和po进行转换,调用了dao层。dao层对数据库操作,调用了BaseDAO中的方法。然后写好struts配置文件和spring配置文件。页面中传入值的时候name=“”  显示值的时候value=“”,对应的从vo中的属性找到写好。



条件查询:条件查询就是每一页主页面上方的按照条件来查询,通过点击查询按钮下面列表中的数据按照选择的条件返回不同的显示结果。
我们这里以第一个模块[市场管理]的第一个小块[市场机会]为例子。

第一步。看页面上查询条件,区域这个下拉列表,里面有几个选项,要知道这几个选项是从哪来的,它并不是我们写死不变的。是在系统管理模块中维护的。
具体做法是点击[系统管理]的第一个[参数管理],右边页面中三个页签中的列表业务字典。新建类别是建一个对应的模块儿的类别名字,比如市场机会。新建业务字典,查询条件的名字就是业务字典名称,比如区域,业务字典编码要按照命名规则来命名,使各编码不同来区分开。新建业务字典项,业务字典项的名称就是查询条件下拉列表中有的值,比如任城区,市中区。业务字典项值是对应的这个字段在数据库中存储是的值(因为我们让它在数据库中一般存数字,不存任城区、市中区,而是(1、2)。业务字典顺序是业务字典名称在下拉列表中显示的先后顺序。

第二步。在系统管理中维护过之后,我们要让它能够在市场机会的那个下拉列表中显示出来。看estate.jsp这个页面。具体代码就是
<td style="text-align:right;">区域:</td>
<td>
    <s:action name="QueryBm" namespace="/base" id="queryType">
    <s:param name="queryBmInfo.scope" value="'dictionary'" />
    <s:param name="queryBmInfo.code" value="'EstateDistrict'" />
    </s:action>
    <select name="estateVO.estateDistrict" style="width:96.5%; margin-left:2px;border:1px">
        <option value="">---请选择---</option>                                               
                <s:iterator value="#queryType.queryBmInfo.bmList" status="list">
        <option value="<s:property value="listDictionaryId" />"><s:property value="listDictionaryName" /></option>
                </s:iterator>
    </select>        
</td>
按照这个写法,每个不同的下拉需更改  第5行的value是每个不同的下拉列表对应在系统管理中的业务字典编码。第7行的name后面要改为它对应的在vo中的属性。

第三步。点击查询按钮时。这些查询条件是写在一个form表单中的,点击查询按钮时submit这个form表单。跳转到estate/findEstateByQuery.action。看这个action,在EstateAction中,调用了service层里的findEstateByQuery方法。看service,调用dao层的方法。需要注意的是,上面我们说过有的查询条件在数据库中存的是数字,而显示的是汉字。所以要在这里根据它的ID或者value查找一下。比如
ListDictionary listDictionary = listDictionaryService.getListDictionaryById(estateTypeId);
estateVO2.setEstateTypeName(listDictionary.getListDictionaryName());
再看dao层,把需要查询时需要用到的属性都写上去比如String estateType = estate.getEstateType();
然后写相应的判断条件
if(null!= estateType&&!"".equals(estateType )){
                    criteria.add(Restrictions.eq("estateType", estateType));
            }
依次判断过所有的查询条件。
struts 和spring配置文件记得写一下。

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值