SSM框架下一個簡單的模糊查詢(超級詳細)
引言:模糊查詢作為後臺常用的一種查詢方式,我們可以根據相應的 關鍵字對其檢索,從而獲得所需要的記錄,本次模糊查詢我們通過名字的任何一個欄位進行匹配查詢。
如果想學習java後臺開發或者前端開發,需要各種資料,以及遇到開發中的問題,想看原始碼,可以加我的群:java愛好者學習群:893474028,我lqz帶你們共同學習。
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"></i> 新增</button></a></li>
<li ><a><button type="button" class="layui-btn layui-btn-sm" onclick="return deleteAll()" ><i class="layui-icon"></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"></i> 搜尋</button>
</form></li>
<%-- <li><a href="${path}/findByName"><button class="layui-btn layui-btn-small"><i class="layui-icon"></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" onclick="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>條記錄,當前顯示第 <i class="blue">${pageInfo.pageNum } </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>«</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>»</span></a></li>
</c:if>
<li class="paginItem"><a href="${pageContext.request.contextPath}/UserPage?currentPage=${pageInfo.pages}">末頁</a></li>
</ul>
</div>
<body>
9、效果圖
根據名字的任何一個欄位進行查詢 ,模糊查詢成功。
需要原始碼的話,可以發評論告訴我哦。
相關推薦
SSM框架下一個簡單的模糊查詢(超級詳細)
引言:模糊查詢作為後臺常用的一種查詢方式,我們可以根據相應的 關鍵字對其檢索,從而獲得所需要的記錄,本次模糊查詢我們通過名字的任何一個欄位進行匹配查詢。 如果想學習java後臺開發或者前端開發,需要各種資料,以及遇到開發中的問題,想看原始碼,可以加我的群:java愛好者學習
SSM框架下分頁的實現(封裝page.java和List<?>)
添加 interface jsp頁面 har show 初始化 ring array dex 之前寫過一篇博客 java分頁的實現(後臺工具類和前臺jsp頁面),介紹了分頁的原理。 今天整合了Spring和SpringMVC和MyBatis,做了增刪改查和分頁,之前的邏輯
SSM框架下的分散式服務方案(基於Dubbo+Zookeeper)
原始碼https://github.com/wosyingjun/beauty_ssm_dubbo.git ###Dubbo服務的簡單應用及部署可以參見:DubboxDemo Maven(模組化構建) Spring(IOC DI AOP 宣告式事務處理) SpringMVC
WEBAPP開發MUI框架下一個簡單的JS模仿redis的資料儲存外掛
開發環境:HBuder工具 + mui框架 公司開發APP一直使用的webApp的方式進行,這樣既可以不用額外招聘安卓和ios開發外,還可以不用頭疼各種解析度相容的問題。 之前有個APP有個需求是需要將某些使用者資料儲存到手機,並且不能被使用者主動刪除的那種,
關於SSM框架的一個簡單Demo
專案是使用maven建立的,所以不懂maven的請先了解學習一下maven的基礎知識,程式設計工具選擇使用的是IDEA。 首先,當然是SSM所需要的jar包,如下: <properties> <spring-version>4.3.1
SSM框架下分頁的實現(封裝page.java和List)
1 <%@page import="com.bwlu.common.Page"%> 2 <%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%>
java初學者Win 10下eclipse的安裝教程(超級詳細)
安裝的前準備 首先檢視電腦的位數 方法: 1.同時按Win鍵+R鍵,在開啟的執行視窗中輸入“dxdiag”,並確定。(Win鍵就是鍵盤上顯示WINDOWS標誌的按鍵) 可以看到系統是64位的,等會要按照位數下載安裝適合自己系統的vs 下載安裝
用Django框架開發一個簡單的企業網站(四)
現在通過後臺可以新建文章分類,並且編輯儲存文章了;由於Django預設的大容量文字欄位是通過一個textarea作為輸入方式,所以我們還需要引入一個富文字編輯器,這裡我推薦KindEditor(http://kindeditor.net/demo.php),配置簡單,功能也齊全。 將下載好的
用Django框架開發一個簡單的企業網站(二)
現在已經搭建好了網站的基本框架,繼續完善後臺功能,既然要寫後臺,自然要準備好資料庫。 資料庫我選擇熟悉的mysql,用的navicat視覺化管理工具,這裡我建立了一個my_web的資料庫;建立好資料庫後在專案目錄下的settings.py檔案內配置資料庫連線資訊: DATABASE
用Django框架開發一個簡單的企業網站(一)
Python有許多不同的 Web 框架,Django是重量級選手中最有代表性的一位,許多成功的網站和APP都基於Django。 既然如此,那麼…… 老規矩,先安裝Django框架,我的Django版本: 安裝完成後在想儲存專案的目錄下執行命令,新建一個專案: djan
用Django框架開發一個簡單的企業網站(三)
接著之前的專案繼續深入開發,後臺和資料庫已經搞定,現在可以寫我們網站的功能了;就寫一個最簡單的功能,釋出企業新聞。開啟app內的models.py檔案,寫兩個資料模型類: from django.db import models class NewsClass(models.Model)
SSM框架整合實現增刪改查(簡單的實現)
SSM框架整合實現增刪改查 檔案結構 POM檔案 <packaging>war</packaging> <!-- 處理亂碼 --> <properties> <!-- 設定專案字符集 -->
SSM框架下登入頁面,圖片驗證碼,密碼加密對比資料庫資料(二)
登入頁面的Controller的程式碼如下: 在這過程中,需要對填入資料進行判斷,是否為使用者名稱存在?是否密碼有誤?是否驗證碼有誤?如若都沒有錯誤則頁面跳轉至登入成功頁面。 @RequsetMapper("/login.do") public @Respons
select2 bootstrap-select2() 下拉列表模糊查詢
當我們的下拉列表資料很多的時候 ,用下拉列表就沒那麼人性化了,bootstrap-select外掛的模糊搜尋功能便可以解決這個問題如下圖(先看截圖效果,再看快速引入): 運用很簡單: 1.下載bootstrap 和bootstrap-select 兩個外掛放入資原始檔夾中
ssm框架下:在已有頁面中通過按鈕跳轉到一個新頁面
1、在已有頁面的jsp中設定一個跳轉按鈕 不帶任何樣式的按鈕程式碼:<button onclick="window.location.href='controller名稱/controller下對應的方法名(函式名)'">按鈕名稱</button
一種在ssm框架下時間互動的簡單解決方案
總結基於ssm框架下的統一快速處理時間的簡單方案。 1 約定與頁面互動格式 後臺程式為前端頁面提供介面,統一使用時間字串互動:包含兩種字串格式:"yyyy-MM-dd HH:mm:ss"和"yyy
java-web專案的分頁與聯合模糊查詢(不使用分頁框架)
記錄分頁的一種例項解決方案: 專案背景:書籍後臺管理系統 專案資料庫:mysql 專案框架:spring、spring-mvc、mybatis 開發模式:三層架構(controller層、service層、dao層) 一、準備工作-dto類 1.接收
SSM框架下實現驗證碼圖片驗證功能(原始碼)
SSM框架下實現驗證碼圖片驗證功能 背景圖片資源路徑 https://download.csdn.net/download/hero_qhz/10322064 一、首先,在pom裡面加上需要用的資源jar包等,並且加上驗證圖片的引用圖片路徑,否則專案啟動會報找不到圖片資源的錯
SSM框架下檔案的上傳下載(無內容時js彈窗提示)
SSM框架下檔案的上傳下載 非全部原創,僅用來記錄學習過的內容,自己添加了js判空彈窗的功能 1.首先我們建立一個測試用的jsp頁面,程式碼如下。 <%@ page language="java" contentType="text/html;
jQuery上傳外掛Uploadify使用Demo、本地上傳(ssm框架下)
maven/Java/web/bootstrapQQ群:566862629。希望更多人一起幫助我學習。 效果: 1. jar包匯入: <!-- 檔案上傳元件 --> &l