需求:
列表页上面会有几个查询框,有各种的查询条件组合,一般都采用模糊查询方式 ,以下以自己做的实例来说明一下实现方法:
需要实现的界面原型:要满足条件:
1、单独输入标题关键字,点查询按扭
2、输入多条件组合,点查询按扭
pojo层:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Fill {
public int orderformID;//订单ID
public int customerID;//客户ID
public String orderformnumber;//订单编号
public String bossbumber;//boss订单号
public String feecharging;//操作员
public String fadate;//日期
public String orderstatus;//订单状态
public String yewuleixing;//业务类型
public String customername;//客户名称
public String customernumber;//服务号码
}
dao层:
因为我一个class里写了很多不同的业务,所以帖代码只帖当前步
//订单信息查询
List<Fill> ordeill();
//模糊查询
List<Fill> findFuzzyRosterq(@Param("customername")String customername,@Param("customernumber")String customernumber,@Param("feecharging")String feecharging,@Param("fadate")String fadate);
daoImpl层:
1、订单信息查询我用了倒序排列 order by a.orderformID desc
<!--订单信息查询 倒序排列-->
<select id="ordeill" resultType="Fill">
select * from p_orderform a,p_customer b,p_fillingcard c where a.customerID = b.customerID and a.orderformID = c.orderformID order by a.orderformID desc
</select>
2、同时满足多个条件进行模糊查询(主要针对有多个查询框,此时查询框有无查询条件都可以);
也适用于只有一个查询框但是可以有多个查询条件进行随机选择的情况,当然查询条件也可以为空
//若是没有固定条件,可以将customer_id = #{customerId}换成1 = 1
//主要为了防止下面的条件都不满足时出现的空指针异常
//test后的判断条件内容为传入参数
//如果条件不满足就会断开此处的and连接,进行下一个if判断;满足条件则执行。
<!--模糊查询-->
<select id="findFuzzyRosterq" resultType="Fill">
SELECT * FROM p_orderform inner join p_customer on p_orderform.customerID = p_cust