SSM框架下一个简单的模糊查询(超级详细)

SSM框架下一个简单的模糊查询(超级详细)引言:模糊查询作为后台常用的一种查询方式,我们可以根据相应的关键字对其检索,从而获得所需要的记录,本次模糊查询我们通过名字的任何一个字段进行匹配查询。另外声明,源码就是以下的部分,直接复制就可以使用了。此外,想要模糊查询,最好学会分页查询,分页查询我用了两种方法,一种是利用的pageHelper,另一种没用到插件.需要源码的,或者demo,在我的资源下载,需要远程帮忙的可以加我QQ…

大家好,又见面了,我是你们的朋友全栈君。

引言:模糊查询作为后台常用的一种查询方式,我们可以根据相应的 关键字对其检索,从而获得所需要的记录,本次模糊查询我们通过名字的任何一个字段进行匹配查询。

另外声明,源码就是以下的部分,直接复制就可以使用了。此外,想要模糊查询,最好学会分页查询,分页查询我用了两种方法,一种是利用的pageHelper,另一种没用到插件.

如果需要此源码案例,请关注微信公众号“源码客栈”后主窗口回复“211022”领取源码案例。

SSM框架下一个简单的模糊查询(超级详细)

 

 

ssm分页查询_liqz666的博客-CSDN博客_ssm分页查询

ssm框架下的分页查询_liqz666的博客-CSDN博客

看看这些,对你模糊查询是一个很好的铺垫,希望能帮到大家了。


SSM框架下一个简单的模糊查询(超级详细)


1、数据表设计

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `password` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `role` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `createtime` date NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


2、数据表里增添几条记录:

INSERT INTO `user` VALUES (11, ‘李庆照’, ‘12344’, ‘学生’, ‘2018-09-11’);
INSERT INTO `user` VALUES (12, ‘al’, ‘121221’, ‘学生’, ‘2018-08-11’);
INSERT INTO `user` VALUES (13, ‘韩小虎’, ‘12344’, ‘学生’, ‘2018-09-10’);
INSERT INTO `user` VALUES (14, ‘狄云辉’, ‘12345’, ‘学生’, ‘2018-09-01’);
INSERT INTO `user` VALUES (15, ‘王鹏’, ‘124434’, ‘学生’, ‘2018-09-09’);
INSERT INTO `user` VALUES (16, ‘魏鹏’, ‘12344’, ‘学生’, ‘2018-09-14’);
INSERT INTO `user` VALUES (17, ‘吕老师’, ‘123456’, ‘老师’, ‘2018-09-10’);
INSERT INTO `user` VALUES (18, ‘李庆照’, ‘123456’, ‘管理员’, ‘2018-09-09’);
INSERT INTO `user` VALUES (19, ‘吕老师’, ‘12344’, ‘学生’, ‘2018-09-11’);
INSERT INTO `user` VALUES (21, ‘甘志伟’, ‘12344’, ‘学生’, ‘2018-09-11’);
INSERT INTO `user` VALUES (32, ‘夏平平’, ‘123456’, ‘学生’, ‘2018-09-11’);
INSERT INTO `user` VALUES (38, ”, ”, ‘学生’, ‘2018-09-11’);
INSERT INTO `user` VALUES (39, ”, ”, ‘学生’, ‘2018-09-11’);
INSERT INTO `user` VALUES (40, ‘admin’, ‘123456’, ‘学生’, ‘2018-09-11’);

SET FOREIGN_KEY_CHECKS = 1;


3、创建接口

  List<User> findByName(@Param(“username”)String username);//根据username字段里的任意一个值进行模糊查询整条记录


4在mybatis 里编写sql语句

 <select id=”findByName” resultType=”com.lysoc.jmi.teaching.model.User”
        parameterType=”com.lysoc.jmi.teaching.model.User”>
        SELECT * FROM user
        <where>
            <if test=”username != null and username != ””>
                AND username LIKE CONCAT(CONCAT(‘%’,#{username},’%’))
            </if>
        </where>
        ORDER BY id
    </select>


5、业务逻辑层代码实现

@Service
@Transactional
public class UserService {

    @Autowired
    UserMapper userMapper;//注入mapper文件
     //模糊根据登陆账号查询
     public List<User> findByName(String username){

         return userMapper.findByName(username);
     }


6、编写User类的实体类

package com.lysoc.jmi.teaching.model;

import java.util.Date;

public class User {

    private Integer id;

    private String username;

    private String password;

    private String role;

    private Date createtime;
    public Integer getId() {

        return id;
    }

    public void setId(Integer id) {

        this.id = id;
    }

    public String getUsername() {

        return username;
    }

    public void setUsername(String username) {

        this.username = username == null ? null : username.trim();
    }

    public String getPassword() {

        return password;
    }

    public void setPassword(String password) {

        this.password = password == null ? null : password.trim();
    }

    public String getRole() {

        return role;
    }

    public void setRole(String role) {

        this.role = role == null ? null : role.trim();
    }

    public Date getCreatetime() {

        return createtime;
    }

    public void setCreatetime(Date createtime) {

        this.createtime = createtime;
    }
}


7、首先要查询出所有的记录

@Controller
public class UserController {

        @Autowired
        private UserService userService;
        
     @RequestMapping(“/findByName”)
    public String findByName(
            @RequestParam(defaultValue=”1″) Integer currentPage,
            HttpServletRequest request,Map<String,Object> map) {

        String username=request.getParameter(“search”);
        System.out.println(username);
        PageHelper.startPage(currentPage,8);
        List<User> list=userService.findByName(username);
        PageInfo<User> pageInfo=new PageInfo<User>(list,8);
        map.put(“pageInfo”, pageInfo);
        return “userinfo”;
    }

}


8、在userinfo.jsp里进行打印显示。

<body>

<!– 搜索/批量删除 –>
<div class=”tools”>
    <ul class=”toolbar”>
        <li><a href=”senduserTo”><button type=”button” class=”layui-btn layui-btn-sm” id=”getAll”><i class=”layui-icon”>&#xe608;</i> 添加</button></a></li>
        <li ><a><button type=”button” class=”layui-btn layui-btn-sm” οnclick=”return deleteAll()” ><i class=”layui-icon”>&#xe640;</i>批量删除</button></a></li>
    </ul>
    <ul class=”searchform”>
        
        <li> <form action=”${path}/findByName” method=”post”>
<input type=”text” name=”search” placeholder=”根据登陆账号查询” style=”    border: 1px solid #E6E6E6;;height:28px;width:120px;”>
<button class=”layui-btn layui-btn-sm”><i class=”layui-icon”>&#xe615;</i> 搜索</button>
</form></li>
        <%–    <li><a href=”${path}/findByName”><button class=”layui-btn layui-btn-small”><i class=”layui-icon”>&#xe615;</i> 搜索</button></a></li>
        <li><fr<input name=”search” type=”text” class=”scinput” placeholder=”请根据登录账号查询”  /></li> –%>
    </ul>
        
</div>

<table class=”tablelist”>
    <tr><th><input type=”checkbox” name=”selectall” id=”selectall” οnclick=”checkAll()” id=”selectall”/></th>
    <th>登陆账号</th><th>登陆密码</th><th>角色</th><th>创建日期</th><th>操作</th>
    <c:forEach items=”${pageInfo.list}” var=”user”>
    <tr>
        <td><input type=”checkbox” name=”id” value=”${user.id}”/></td>
        <td>${user.username}</td>
        <td>${user.password}</td>
        <td>${user.role}  </td>
    <%–     <td>${user.createtime}</td> –%>
        <td><fmt:formatDate value=”${user.createtime}” pattern=”yyyy年-MM月-dd日” /></td>
        <td><a href=”updateUserTo?id=${user.id}”><button class=”layui-btn-mini layui-btn”>更改</button></a>
        <a href=”deleteById?id=${user.id}” class=”tablelink”><button class=”layui-btn-danger layui-btn-mini layui-btn”>删除</button></a></td>    
    </tr>
    </c:forEach>
    
</table>

    <!– 显示分页信息 –>
     <div class=”clear”></div>
      <div class=”pagin”>
 <div class=”message”>共<i class=”blue”>${pageInfo.total }</i>条记录,当前显示第&nbsp;<i class=”blue”>${pageInfo.pageNum }&nbsp;</i>页
 
 总<i class=”
 blue”>${pageInfo.pages }</i>页
 </div>
 <ul class=”paginList”>
       <li class=”paginItem”><a href=”${pageContext.request.contextPath}/UserPage?currentPage=1″>首页</a></li>
                    <c:if test=”${pageInfo.hasPreviousPage }”>
                        <li  class=”paginItem”><a href=”${pageContext.request.contextPath}/UserPage?currentPage=${pageInfo.pageNum-1}”
                            > <span>&laquo;</span>
                        </a></li>
                    </c:if>
       <c:forEach items=”${pageInfo.navigatepageNums }” var=”page_Num”>
                        <c:if test=”${page_Num == pageInfo.pageNum }”>
                            <li class=”paginItem”><a href=”#”>${page_Num }</a></li>
                        </c:if>
                        <c:if test=”${page_Num != pageInfo.pageNum }”>
                            <li class=”paginItem”><a href=”${pageContext.request.contextPath}/UserPage?currentPage=${page_Num }”>${page_Num }</a></li>
                        </c:if>

                    </c:forEach>
        <c:if test=”${pageInfo.hasNextPage }”>
        <li class=”paginItem”><a href=”${pageContext.request.contextPath}/UserPage?currentPage=${pageInfo.pageNum+1 }”> <span>&raquo;</span></a></li>
        </c:if>
        <li class=”paginItem”><a href=”${pageContext.request.contextPath}/UserPage?currentPage=${pageInfo.pages}”>末页</a></li>
        </ul>
  </div>
  <body>


9、效果图

SSM框架下一个简单的模糊查询(超级详细)


SSM框架下一个简单的模糊查询(超级详细)


根据名字的任何一个字段进行查询 ,希望能帮到大家,模糊查询成功,需要视频资源的可以加我QQ1728608455

SSM框架下一个简单的模糊查询(超级详细)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139167.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux C 中的volatile使用【转】[通俗易懂]

    linux C 中的volatile使用【转】

    2022年3月12日
    28
  • 键盘win键没反应?估计是锁了[通俗易懂]

    键盘win键没反应?估计是锁了[通俗易懂]今个想打开cmd,发现win+R竟然没反应,随后进行排查,发现只有键盘的win键不能用,笔记本原配可以用在网上翻了万能网友的记录后,才知道键盘的win键被上锁一般使用fn+win解锁但是IKBC很扯淡,IKBC必须按fn+右侧的win祝你成功,我的朋友…

    2022年5月4日
    53
  • 本工作站与主域失去信任_电脑加域后无管理员

    本工作站与主域失去信任_电脑加域后无管理员1.如图。解决方式原因:用户和域的安全通道损坏。解决方式:方式1:退域加域名。(需要重启两次麻烦)方式2:推荐方式:用本地管理员进去。用命令修复安全通道。(使用powershell输入命令打开)(不需要重启)Test-ComputerSecureChannel-Credential域账号(域名\账号)-Repair注意:在本地管理管理员,多尝试几次就能修复了。修复的标志:命令:Test-ComputerSecureChannel造成退域的原因:(不止这几点)1.密码更新失败

    2022年10月19日
    0
  • TCP服务端和客户端连接

    TCP服务端和客户端连接TCP:Transmission Control Protocol 传输控制协议 ,是一种面向连接的、可靠的、基于字节流的传输层通信协议。注:先启动服务端,再启动客户端。客户端:package TCP;import java.io.IOException;import java.net.Socket;import java.util.Scanner;// 客户端pub…

    2022年6月13日
    32
  • 微型计算机的性能主要取决于多选,广东计算机一级考试试题

    微型计算机的性能主要取决于多选,广东计算机一级考试试题广东计算机一级考试试题53、在word的哪种视图方式下,可以显示分页效果()A、普通B、大纲C、页面*D、主控文档54、在word的编辑状态,连续进行了两次”插入”操作,当单击一次”撤消”按钮后()A、将两次插入的内容全部取消B、将第一次插入的内容全部取消C、将第二次插入的内容全部取消*D、两次插入的内容都不被取消55、在WINDOW95中,若在某一文档中连续进行了多次剪切操作,当关…

    2022年6月28日
    23
  • 搭建SpringCloud项目,并实现自动化部署[通俗易懂]

    搭建SpringCloud项目,并实现自动化部署[通俗易懂]前一阵子一直在忙着做项目,最近有空,把项目中用到的SpringBoot微服务相关架构再梳理一遍。项目资源:https://github.com/sunroyi/SpringCloud主要分为以下几步:(1)搭建SpringBootService,这里是各个微服务的业务逻辑。(这里搭建了2个Service,用来测试熔断)(2)搭建SpringBootEureka,用来发现服务。(…

    2022年5月27日
    140

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号