用户模糊查询

文章展示了前端使用JS处理表单提交,将数据传送到后端的过程。后端通过Mapper中的SQL语句对传入的数据进行处理,如模糊查询和条件过滤,并实现分页功能。主要涉及字段包括用户名、邮箱、性别、生日和启用状态。
摘要由CSDN通过智能技术生成

前端数据传到后端

js

form.on('submit(sreach)', function (res) {
        let data = res.field;
        //console.log(data);
        table.render({
            elem: '#table'
            , url: '/user/all' // 此处为静态模拟数据,实际使用时需换成真实接口
            ,where:data
            , height: 'full-200' // 最大高度减去其他容器已占有的高度差
            , cellMinWidth: 80
            , page: true //开启分页
            , cols: [[
                {field: 'id', fixed: 'left', width: 60, title: 'ID', sort: true}
                , {field: 'name', width: 100, title: '用户名'}
                , {
                    field: 'email',
                    title: '邮箱 <i class="layui-icon layui-icon-email"></i>',
                    hide: 0,
                    width: 120,
                    edit: 'text'
                }
                , {field: 'sex', width: 70, title: '性别', sort: true}
                , {field: 'phone', width: 120, title: '手机号'}
                , {field: 'birthday', width: 120, title: '生日'}
                , {field: 'address', width: 200, title: '地址'}
                , {
                    field: 'enable', width: 120, title: '启用停用', templet: function (d) {
                        return d.enable === 1 ? '启用' : '停用'
                    }
                }
                , {fixed: 'right', title: '操作', toolbar: '#barDemo'}
            ]]
        })
        return false;
    })

后端接收数据

mapper中的SQL语句

<select id="findAll" resultMap="userMap">
        select id,
        name,
        phone,
        email,
        sex,
        address,
        birthday,
        enable
        from user
        <where>
            <if test="name!='' ">
                and name like concat('%',#{name},'%')
            </if>
            <if test="email!='' ">
                and email like concat('%',#{email},'%')
            </if>
            <if test="sex!='' ">
                and sex = #{sex}
            </if>
            <if test="startBirthday!='' and endBirthday==''">
                and birthday &gt;=#{startBirthday}
            </if>
            <if test="startBirthday=='' and endBirthday!=''">
                and birthday &lt;=#{endBirthday}
            </if>
            <if test="startBirthday!='' and endBirthday!=''">
                and birthday between #{startBirthday} and #{endBirthday}
            </if>
            <if test="enable==1 or enable == 0">
                and enable=#{enable}
            </if>
        </where>
        order by id desc
        <bind name="page" value="(page - 1) * limit"/>
        limit #{page},#{limit}
    </select>

判断前端传到后端的值,当相应字段有数据时才能选中,用if语句对值进行判断。

名字部分进行模糊查询

<if test="name!='' ">
    and name like concat('%',#{name},'%')
</if>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值