各位大神,为什么我的查询要查两次,代码如下:
dao层:
public void deleteUsersByID(SM0102Form form){
try{
    sqlMapClient.delete(******SqlIdDef.SM0102_DELETE_1, form);
}catch(SQLException e){
    logger.info(this.getClass().getName() + e);
}
}service层:
public String searchUsersWithPage(SM0102Form form){
       try{
   List<SM0102> list = sm0102Dao.searchUsersWithPage(form);
   form.setList(list);
       }catch (SQLException e){
   logger.info(this.getClass().getName() + e);
       }
return ActionForward.ACTION_VIEW;
}action层:
public String searchUsers(){
if (form == null){
form = new SM0102Form();
}
SM0102Service service = (SM0102Service) getService(******ServiceDef.SM0102SERVICE);
return service.searchUsersWithPage(form);
}sql:
<select id="SM0102_search_1" parameterClass="SM0102Form" resultMap="SM0102Map">
select * from SM01_USERS
<dynamic prepend="where">
<isNotEmpty prepend="and" property="id">
ID=#id#
</isNotEmpty>
<isNotEmpty prepend="and" property="name">
NAME like '%$name$%'
</isNotEmpty>
<isNotEmpty prepend="and" property="password">
PASSWORD=#password#
</isNotEmpty>
<isNotEmpty prepend="and" property="startAge">
<![CDATA[
AGE >= #startAge#
]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="endAge">
<![CDATA[
AGE <= #endAge#
]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="city">
CITY like '%$city$%'
</isNotEmpty>
<isNotEmpty prepend="and" property="dept_id">
DEPT_ID=#dept_id#
</isNotEmpty>
</dynamic>
</select>