springDataJpa实现普通模糊查询
1.需求
2.页面代码
<input type="text" id="id_keywords" class="form-control" placeholder="请输入区域、小区名">
<div class="col-md-2 col-sm-2 col-xs-2 pt0">
<span class="btn1" id="btn_keywords_search">
<i class="fa fa-search" aria-hidden="true"></i>搜索</span>
</div>
3.js代码
$('#btn_keywords_search').click(function() {
var query = $('#id_keywords').val();
searchByCondition(query);
})
function searchByCondition(query){
$.ajax({
type : 'post',
url : 'searchCommon',
cache : false, // 禁用缓存
data : {
query: query,
page:0
},
success : function(data) {
console.log(data);
var list=data.contents.data;
var str="";
var tal="";
tal+='<div class="fl" id="btn-tal"><b>'+data.contents.total+'</b>套</div>'
for(var i=0;i<list.length;i++){
var item = list[i];
str+='<li class="clearfix" roomid="100241047" lng="114.260571" lat="22.725271" title="东方明珠城 龙岗龙城广场站家私家电全齐2房出租">'
str+='<a class="big-alink clearfix" href=" \"/room/ \"+item.roomsn+\".html\" " target="_blank"> '+'<p class="hs-photo fl">'+'<img src="/upload/viewImg2/'+item.smallImg+' width="135" height="102" class="fl"></p>'
str+='<div class="hs-info fl">'+'<p class="hs-info-name">'+item.roomName+'</p>'+'<p>'+item.cityName+item.areaName+'</p>'
+'<p>'+item.tips+'</p>'+'<p class="hs-info-price">'+'¥'+item.rental+'元/月</p></div></a><li>'
}
$("#btn-tal").html(tal);
$("#roomList").html(str);
}
});
}
4.控制层代码
@PostMapping("searchCommon")
@ResponseBody
public Map<String, Object> searchCommon(String query, Integer page) {
Integer limit = Consts.PAGE_SIZE;
TblRooms entity = new TblRooms();
entity.setKeyword(query);
PageRequest pageRequest = PageRequest.of(page, limit, Direction.DESC, "id");
Map<String, Object> datas;
datas = tblRoomsService.findAll(entity, pageRequest);
Map<String, Object> map = new HashMap<String, Object>();
map.put("contents", datas);
return map;
}
5.业务层主要代码
if (StringUtils.isNotBlank(entity.getKeyword())) {
list.add(cb.or(cb.like(root.get("cityName").as(String.class), "%" + entity.getKeyword() + "%"),
cb.like(root.get("areaName").as(String.class), "%" + entity.getKeyword() + "%"),
cb.like(root.get("subways").as(String.class), "%" + entity.getKeyword() + "%"),
cb.like(root.get("roomName").as(String.class), "%" + entity.getKeyword() + "%")
));
}
springDataJpa实现普通模糊查询相关推荐
- like模糊查询是否走索引
1.模糊查询 后通配 走索引 前通配 走全表 2.where条件用in或or 不会走索引索引的本质是平衡b+数,是为了方便查询的平衡多路查找树 B-Tree相比,B+Tree有以下不同点: 每个节点的 ...
- mybaits的模糊查询_mybatis模糊查询防止SQL注入(很详细)
SQL注入,大家都不陌生,是一种常见的攻击方式.攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如"or '1'='1'"这样的语句),有可能入侵参数检验不足的应用程序 ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> < ...
- MySQL之模糊查询
先在MySQL数据库里创建一个表,并添加几条数据: create table student(id char(36) primary key,name varchar(8) not null,age ...
- java有模糊查询吗,到底Java里的模糊查询语句该怎么写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 现在String sql="select * from car where carName like '%'+?+'%'";可以查询出 ...
- mybatis3进行模糊查询的总结
一种直接采用函数进行模糊查询,直接在映射文件中书写对应的like语句. 例如: select * from u_tree ut where ut.node_name like concat(conca ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user ...
- MySQL模糊查询再也用不着 like+% 了!
欢迎关注方志朋的博客,回复"666"获面试宝典 前言 我们都知道 InnoDB 在模糊查询数据时使用 "%xx" 会导致索引失效,但有时需求就是如此,类似这样的 ...
- ios mysql 修改数据,iOS数据库FMDB--增删改查(模糊查询)实写记录
在iOS中,主要有5种数据缓存的策略: 1.plist 2.归档 3.偏好设置 4.沙盒文件 5."SQLite数据库" 其中,"SQLite数据库" 是最常用 ...
最新文章
- timestamp与timedelta,管理信息系统概念与基础
- poj2140---herd sums
- DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构FineTuning
- 如何保证access_token长期有效
- like效率 regexp_Oracle 中like效率 正则表达式 浅析
- gmat阅读.html,GMAT阅读长难句50句+参考译文.pdf
- cgcs2000大地坐标系地图_为什么要从北京54和西安80统一到CGCS2000?测绘人必知!...
- 图 邻接表 建立 深度遍历 广度遍历
- iOS控制器与视图加载方法
- 诗与远方:无题(八十五)- 无字天书
- 用PBKDF2 或BCrypt 来存储密码
- 2021年BATJ30套大厂Android经典高频面试题,附答案
- 原来阅读器也可以有网页版的,不下载也能用,涨姿势了
- R语言弦图绘制 (单细胞互作弦图)
- 配置Maven环境变量
- 徐州一姑娘写的(女孩看了是自省,男孩看了是激励)
- 百度网盘客户端刷不出内容,网页版打不开,怎么办?
- Html页面上展示Excel表格 --Handsontable
- 微信第三方平台授权时域名问题
- 基于go语言的史上最流弊的学生成绩管理系统