layui实现模糊查询

前端使用layui,后端使用Java,实现模糊查询,比较简单,看代码就能懂。
前端:
在这里插入图片描述
html代码:

<div class="layui-inline">
	<div class="layui-input-inline">
		<input type="text" class="layui-input searchVal" placeholder="请输入搜索的内容"/>
	</div>
		<a class="layui-btn search_btn" data-type="reload">搜索</a>
</div>

js代码:

//列表
var tableIns = table.render({
    elem: '#userList',
    url : '/findAllUser',
    cellMinWidth : 95,
    page : true,
    height : "full-125",
    limit : 20,
    limits:[10,15,20,25],
    id : "userListTable",
    cols:[[
        {type: 'checkbox', fixed:'left', },
        {type:'numbers',title:'序号'},
        {field: 'userId', title: '用户ID', width:80, align:"center"},
        {field: 'userName', title: '账号',align:"center"},
        {field: 'userPassword', title: '密码',align:'center'},
        {field: 'createTime', title: '注册时间',width:180, align:'center'},
        {field: 'userType', title:'身份',width:140, align:'center'},
        {title: '操作',  templet:'#newsListBar',width:120,fixed:"right",align:"center"}
   	]]
});
//搜索
$(".search_btn").on("click",function(){
    if($(".searchVal").val() != ''){
        table.reload("userListTable",{
            url: '/selectListByCondition',
            page: {
                curr: 1 //重新从第 1 页开始
            },
            where: {
                condition: $(".searchVal").val() //搜索的关键字
            }
        })
    }else{
        layer.msg("请输入搜索的内容");
    }
});

后端:
控制层代码:

//根据搜索框内容查询列表数据
@RequestMapping("/selectListByCondition")
public ResultVO selectListByCondition(@RequestParam(name = "page", required = false) int page, String condition){
	//获取分页信息
    PageInfo<User> userPageInfo = userService.findAll(page,10);
    //获取数据的总条数
    int total=(int)userPageInfo.getTotal();
    //设置总条数
    ResultVO resultVO =  new ResultVO();
    resultVO.setCount(total);

    List<User> userList = userService.findListByCondition(condition);
    resultVO.setUserList(userList);
    return resultVO;
}

返回值是我自定义的工具类(只贴一下参数):

@Data
public class ResultVO<T> {

    private Integer code=0;

    private Integer count;

    private Integer status=200;

    private  String msg="success";

    @JsonProperty("data")
    private List<User> userList;

业务层代码:

//根据搜索框搜索对应列表数据
@Override
public List<User> findListByCondition(String condition){
    return userMapper.findListByCondition(condition);
}
public PageInfo<User> findAll(int pageNum, int pageSize) {
    //将参数传给这个方法就可以实现物理分页了,非常简单。
    PageHelper.startPage(pageNum, pageSize);
    List<User> userList = userMapper.findAllUser();
    PageInfo result = new PageInfo(userList);
    return result;
}

持久化层代码:

//查询所有用户
List<User>  findAllUser();

//根据搜索框内容查询列表数据
List<User> findListByCondition(String condition);

xml代码:

<!--查询所有用户-->
<select id="findAllUser"  resultType="com.test.tourism.model.User">
	select * from user
</select>

<!-- 根据搜索框搜索列表数据 -->
<select id="findListByCondition"  resultType="com.test.tourism.model.User">
	select * from user where user_name like '%' #{condition} '%'
</select>

实现效果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值