动态查询


部分代码不能公布,大家可以参考思路

需求:跟据input的值,每次点击button列表会刷新

在这里插入图片描述

代码实现

前端
<div class="control-group inline">
        <div class="controls">
            <label class="inline" style="width: 100px;">合作伙伴:</label>
            <input type="text"  name="parterName" id="parterName" value=""/>
            <button type="button" class="btn btn-primary" id="qur_btn">查询</button>
        </div>
    </div>

    <!-- 查询表格 -->
    <div class="row-fluid toolbar">
        <table id="parter_table" class="table table-hover table-bordered table-condensed table-striped">
            <thead>
            <tr>
                <th style="text-align: center;">序号</th>
                <th style="text-align: center;">合作伙伴</th>
                <th style="text-align: center;">关键字</th>
            </tr>
            </thead>
            <tbody></tbody>
        </table>
    </div>
var oTable;

$(function () {

    initTable();//初始化表格

    //查询按钮被触发
    $("#qur_btn").click(function () {
        var parterName = $('#parterName').val();
        oTable.fnDraw();
    });
})

/**
 * @desc 初始化表格
 */
function initTable() {
    oTable = $("#parter_table").myDataTable({
        "scrollX": true,
        "iDisplayLength": 10,
        "aLengthMenu": [10, 20, 100],
        "sAjaxSource": ctx + '/web/parterinfo/listParter.do',
        "paramSelector": '#parterName',
        "aoColumns": [
            {bSortable: false, sName: "序号", sWidth: 40,},
            {bSortable: false, sName: "合作伙伴", sWidth: 100,},
            {bSortable: false, sName: "关键字", sWidth: 120,}
        ]
    });
}

注意:paramSelector是根据那么来找的,前端input标签一定要有name,否则后端得不到值。

后端【省略接口】

controller层

@RequestMapping(value = "/listParter.do", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> listParter(int iDisplayStart, int iDisplayLength,
                                          @RequestParam(value = "parterName", required = false, defaultValue = "") String parterName) {

        Map<String, Object> map = new HashMap<>(20);

        PageBean<ParterinfoEntity> pageBean = iParterinfoService
                .getParterInfos(iDisplayStart, iDisplayLength, parterName);

        // 处理返回结果
        List<List<Object>> aaData = new ArrayList<List<Object>>();

        if (!super.isEmpty(pageBean.getData())) {
            // 产品集合转换成map

            for (ParterinfoEntity bean : pageBean.getData()) {
                List<Object> data = new ArrayList<Object>();
                data.add(bean.getParterID());//序号
                data.add(bean.getParterName());
                data.add("合作伙伴");

                aaData.add(data);//4
            }
        }

        map.put("iTotalRecords", pageBean.getCount());
        map.put("iTotalDisplayRecords", pageBean.getCount());
        map.put("aaData", aaData);

        return map;
    }

service层

@Service
public class ParterinfoServicelmpl implements IParterinfoService{

    private static Logger logger = LoggerFactory.getLogger(ParterinfoServicelmpl.class);
    @Resource
    private IParterinfoReadDao iParterinfoReadDao;

    @Override
    public PageBean<ParterinfoEntity> getParterInfos(int start, int length, String parterName) {
        PageBean<ParterinfoEntity> pageBean = new PageBean<>();
        pageBean.setStart(start);
        pageBean.setLimit(length);

        // 查询一页的数据
        pageBean.setData(iParterinfoReadDao.listParters(start, length , parterName));
        // 查询总记录数量
        long count = iParterinfoReadDao.getParterCount(parterName);

        pageBean.setCount(count);
        return pageBean;
    }
}

dao层

@Repository
public class ParterinfoReadDaollmpl implements IParterinfoReadDao {

    @Resource
    private SqlSession sqlsessionRead;
    
    @Override
    public List<ParterinfoEntity> listParters(int start, int length, String parterName) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("start", start);
        params.put("limit", length);
        params.put("parterName",parterName);
        return this.sqlsessionRead.selectList("read.parterinfos.listParters",params);
    }

    @Override
    public long getParterCount(String parterName) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("parterName",parterName);
        return this.sqlsessionRead.selectOne("read.parterinfos.parterCount",params);
    }
}

mapper

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="read.parterinfos">

	<select id="listParters" parameterType="java.util.Map" resultType="parterinfoEntity">
		select p.ParterID , p.ParterName
		from Parterinfo p
		where p.Status = 1
		<if test="parterName != null and parterName != ''">  AND p.ParterName = #{parterName} </if>
		order by ParterID ASC
		<if test="start >=0 and limit>0">limit #{start},#{limit}</if>
	</select>

	<select id="parterCount" parameterType="java.util.Map" resultType="long">
		select count(ParterID) from Parterinfo p where p.Status = 1
		<if test="parterName != null and parterName != ''">  AND p.ParterName = #{parterName} </if>
	</select>

</mapper>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值