使用Springboot注解形式进行模糊查询
Springboot注解形式进行模糊查询
需求:
功能需要按照商户名字做模糊查询,sql我们项目中使用的是mybatis封装好的一些常见增删改查方法(通用sql需要在pom.xml文件中加入依赖);
<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency>
也就是说我们的项目中没有xml文件来写sql语句。所以除了这些常见的CRUD方法外,如果有特殊需求需要自己用基于注解形式的sql来实现。现在根据名字做模糊查询就是一个特殊需求。
下面是我的Mapper层中的sql语句,
语句是可以在navicat中查询出数据的,但是在项目中此语句返回的老是只有id一个字段,后来发现问题所在: 缺少了对象的成员变量和数据库字段的映射关系,所以在添加了映射关系后就可以查询出所有的数据而不是只有id字段了
我这里使用的@Results注解和@Result注解,用来阐述项目中对象的成员变量和数据库中字段的映射关系,另外也可以使用@ResultMap注解来实现映射。
springboot简单的模糊查询
springboot用注解进行模糊查询
1、先将controller层传过来的数据进行拼接
2、然后就可以直接写入了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
springboot使用JPA时间类型进行模糊查询的方法
这个问题是我自己开发中遇到的问题 数据库使用的是mysql5.6 字段名称为checkingTime 类型为timestamp 显而易见 存到库中的是保留6位毫秒 即yyyy-MM-dd HH:mm:ss.ssssss 此时需求是精确到分钟的相同时间 不进行存储 这时候就需要进行模糊查询 搜了一圈百度 并没有什么好用的方法 我的bean类定义的是date类型 使用注解将类型更改为timestamp 存入库中 其实在做模糊查询的时候 只需要向持久层传入String类型参数即可 我的做
-
Spring Boot(五)之跨域、自定义查询及分页
跨域 前面我们初步做出了一个可以实现受保护的 REST API,但是我们没有涉及一个前端领域很重要的问题,那就是跨域请求( cross-origin HTTP request ).先来回顾一些背景知识: 跨域请求 定义:当我们从本身站点请求不同域名或端口的服务所提供的资源时,就会发起跨域请求. 例如最常见的我们很多的 css 样式文件是会链接到某个公共 CDN 服务器上,而不是在本身的服务器上,这其实就是典型的一个跨域请求.但浏览器由于安全原因限制了在脚本( script )中发起的跨域 HTT
-
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
前言 基于SpringMVC+Bootstrap+DataTables实现数据表格服务端分页.模糊查询(非DataTables Search),页面异步刷新. 说明:sp:message标签是使用了SpringMVC国际化 效果 DataTable表格 关键字查询 自定义关键字查询,非DataTable Search 代码 HTML代码 查询条件代码 <!-- 查询.添加.批量删除.导出.刷新 --> <div class="row-fluid"> <di
-
详解Spring Data Jpa 模糊查询的正确用法
模糊查询 Spring Data Jpa的使用可以减少开发者对sql语句的编写,甚至完全不需要编写sql语句.但是,开发过程中总会遇到各种复杂的场景以及大大小小的坑. 今天项目中某个功能模块需要用到模糊查询.原生sql中模糊查询关键字'Like',而Spring Data Jpa的Repository接口中恰恰也有实体字段对应的Like.但是,如果直接使用它,那么恭喜你,你幸运地掉坑了. Spring Data Jpa 模糊查询正确用法 首先,我们先创建一个实体用来存储我们的数据 /** * 实
-
使用Springboot注解形式进行模糊查询
Springboot注解形式进行模糊查询 需求: 功能需要按照商户名字做模糊查询,sql我们项目中使用的是mybatis封装好的一些常见增删改查方法(通用sql需要在pom.xml文件中加入依赖): <!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter --> <dependency> <groupId>tk.mybatis</groupId> <ar
-
springboot vue项目后端列表接口分页模糊查询
目录 基于 springboot+vue 的测试平台开发 一.分页插件 二.实现接口 1. 编写 Service 层 2. 编写 Controller 层 三.测试接口 1. 测试分页 2. 测试条件查询 基于 springboot+vue 的测试平台开发 继续更新 打开项目管理,就需要看到列表里展示项目数据,比如这样(截图是这个前端框架的demo,仅作示意): 那么对应到我们平台的项目管理功能,就需要有: 列表展示添加的项目数据 可以通过项目名称查询指定的项目 新增项目 编辑项目 其他功能..
-
MyBatis中map的应用与模糊查询实现代码
目录 1.MyBatis中map的应用 1.1.应用场景 1.2.具体实现 1.3.注意点!!! 2.模糊查询 1.MyBatis中map的应用 1.1.应用场景 假设,实体类,或者数据库中的表,字段或者参数过多,应当考虑使用Map!!! 1.2.具体实现 //万能map int addUser2(Map<String,Object> map); <!--对象中的属性,可以直接取出来 parameterType=传递map中的key--> <insert id="a
-
springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能
完整案例: SpringBoot + laypage分页 + 模糊查询 完整案例 下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能,内容如下所示: 调用接口Controller类 @ApiOperation("查询列表") @PostMapping("/selectList") public Result selectList(@RequestBody User_InfoListRequest us
-
java留言管理系统中模糊查询实例分享
本文分享了一个基于MVC+DAO的留言管理系统,包含增删改查,其中查询,有全部查询和按关键字进行模糊查询的功能,具体内容如下 NoteDAO.Java package cn.mldn.lxh.note.dao ; import java.util.* ; import cn.mldn.lxh.note.vo.* ; public interface NoteDAO { // 增加操作 public void insert(Note note) throws Exception ; // 修改操作
-
SqlServer使用 case when 解决多条件模糊查询问题
我们在进行项目开发中,经常会遇到多条件模糊查询的需求.对此,我们常见的解决方案有两种:一是在程序端拼接SQL字符串,根据是否选择了某个条件,构造相应的SQL字符串:二是在数据库的存储过程中使用动态的SQL语句.其本质也是拼接SQL字符串,不过是从程序端转移到数据库端而已. 这两种方式的缺点是显而易见的:一是当多个条件每个都可为空时,要使用多个if语句进行判断:二是拼接的SQL语句容易产生SQL注入漏洞. 最近写数据库存储过程的时候经常使用case when 语句,正好可以用这个语句解决一下以上问
-
Java模糊查询方法详解
当我们需要开发一个方法用来查询数据库的时候,往往会遇到这样一个问题:就是不知道用户到底会输入什么条件,那么怎么样处理sql语句才能让我们开发的方法不管接受到什么样的条件都可以正常工作呢?这时where '1'='1'加上list就可以完美解决这个问题了,废话少说,上代码: // 模糊查询方法 public List<person> query() { List<person> list = new ArrayList<>(); Connection con = null
-
Mybatis基于注解形式的sql语句生成实例代码
对其做了些优化,但此种sql生成方式仅适用于复杂程度不高的sql,所以实用性不是很高,仅仅是写着玩的,知道点mybatis的注解形式的使用方式,可能以后会逐渐完善起来.第一次写博客,写的简单点. package com.bob.config.mvc.mybatis; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retenti
-
python Django中models进行模糊查询的示例
多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思 #搜索功能 @csrf_exempt#使用@csrf_exempt装饰器,免除csrf验证 def search_testCaseApi(request): if request.method == 'POST': name = request.POST.get('task_name') updateUser=request.POST.ge
随机推荐
- 用JS判断IE版本的代码 超管用!
- sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解
- android创建数据库(SQLite)保存图片示例
- javascript密码验证
- 解析入侵3389的全部流程
- 详解C++编程中的私有继承和公有继承
- 基于PHPexecl类生成复杂的报表表头示例
- 动网论坛验证码改进 加法验证码(ASPJpeg版)
- 使用OkHttp包在Android中进行HTTP头处理的教程
- AJAX应用中必须要掌握的重点知识(分享)
- JavaScript在IE和FF下的兼容性问题
- jQuery中prev()方法用法实例
- 基于Jquery Ajax type的4种类型(详解)
- js链接确认提醒功能
- nginx启动服务提示98: Address already in use错误的解决
- Android用户注册界面简单设计
- Android apk 插件启动内存释放问题
- zdrive.com为您提供免费FTP+asp免费空间
- vue+web端仿微信网页版聊天室功能
- C语言合并两个带头节点升序排列链表