广告
返回顶部
首页 > 资讯 > 后端开发 > Python >mybatisExampleCriterialike模糊查询问题
  • 347
分享到

mybatisExampleCriterialike模糊查询问题

mybatisExampleCriterialikemybatis模糊查询mybatisExample 2023-02-27 14:02:30 347人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录简介Criteria类简单实例生成简单的WHERE子句复杂查询模糊查询实战总结用mybatis代码生成工具会产生很多个XXXExample类,这些类的作用是什么? 查阅了

mybatis代码生成工具会产生很多个XXXExample类,这些类的作用是什么?

查阅了很多资料,在这里总结归纳一下

简介

XXXExample类用于构造复杂的筛选条件

它包含一个名为Criteria的内部静态类,它包含将在where子句中一起结合的条件列表。

Criteria类的集合允许您生成几乎无限类型的where子句。

可以使用createCriteria方法或or方法创建Criteria对象。

当使用createCriteria方法创建第一个Criteria对象时,它会自动添加到Criteria对象列表中 -

如果不需要其他子句,则可以轻松编写简单的Where子句。使用or方法时,Criteria类将添加到所有实例的列表中。

官方建议仅使用or方法创建Criteria类。这种方法可以使代码更具可读性。

Criteria类

Criteria内部类包括每个字段的andXXX方法,以及每个标准sql谓词

包括:

字段方法含义
IS NULL表示相关列必须为NULL
IS NOT NULL表示相关列不能为NULL
=(等于)表示相关列必须等于方法调用中传入的值
<>(不等于)表示相关列不能等于方法调用中传入的值
>(大于)表示相关列必须大于方法调用中传入的值
> =(大于或等于)表示相关列必须大于或等于方法调用中传入的值
<(小于)表示相关列必须小于方法调用中传入的值
<=(小于或等于)表示相关列必须小于或等于方法调用中传入的值
LIKE意味着相关列必须“类似”方法调用中传入的值。代码不会添加所需的’%’,您必须自己在方法调用中传入的值中设置该值。
NOT LIKE意味着相关列必须“不喜欢”方法调用中传入的值。代码不会添加所需的’%’,您必须自己在方法调用中传入的值中设置该值。
BETWEEN意味着相关列必须“在”方法调用中传入的两个值之间。
NOT BETWEEN意味着相关列必须“不在”方法调用中传入的两个值之间。
IN表示相关列必须是方法调用中传入的值列表之一。
NOT IN表示相关列不能是方法调用中传入的值列表之一。

简单实例

生成简单的WHERE子句

  TestTableExample example = new TestTableExample();
  example.createCriteria().andField1EqualTo(5);

或者

 TestTableExample example = new TestTableExample();
  example.or().andField1EqualTo(5);

实际上动态生成的where子句是这样

where field1 = 5

复杂查询

TestTableExample example = new TestTableExample();

  example.or()
    .andField1EqualTo(5)
    .andField2IsNull();

  example.or()
    .andField3NotEqualTo(9)
    .andField4IsNotNull();

  List<Integer> field5Values = new ArrayList<Integer>();
  field5Values.add(8);
  field5Values.add(11);
  field5Values.add(14);
  field5Values.add(22);

  example.or()
    .andField5In(field5Values);

  example.or()
    .andField6Between(3, 7);

实际上动态生成的where子句是这样

     where (field1 = 5 and field2 is null)
     or (field3 <> 9 and field4 is not null)
     or (field5 in (8, 11, 14, 22))
     or (field6 between 3 and 7)

可以通过在任何示例类上调用setDistinct(true)方法来强制查询为DISTINCT。

模糊查询实战

自己根据理解配合PageHelper做了一个简单的多条件模糊查询加深理解

具体实现如下,支持多个字段的同时搜索

        PageHelper.startPage(pageNum,pageSize);
        TbBrandExample example = new TbBrandExample();
        TbBrandExample.Criteria criteria = example.createCriteria();
        if (tbBrand != null) {
            if (tbBrand.getName() != null && tbBrand.getName().length()>0) {
                criteria.andNameLike("%"+tbBrand.getName()+"%");
            }
            if (tbBrand.getFirstChar() != null && tbBrand.getFirstChar().length()>0) {
                criteria.andFirstCharLike("%"+tbBrand.getFirstChar()+"%");
            }
        }
        Page<TbBrand> page = (Page<TbBrand>) brandMapper.selectByExample(example);
        return new PageResult((int) page.getTotal(),page.getResult());

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: mybatisExampleCriterialike模糊查询问题

本文链接: https://www.lsjlt.com/news/197682.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatisExampleCriterialike模糊查询问题
    目录简介Criteria类简单实例生成简单的WHERE子句复杂查询模糊查询实战总结用Mybatis代码生成工具会产生很多个XXXExample类,这些类的作用是什么? 查阅了...
    99+
    2023-02-27
    mybatis Example Criteria like mybatis模糊查询 mybatis Example
  • sql查询之模糊查询
    like 这里可以参照一下菜鸟教程、mysql like一般用于字符串查询%代表半匹配查询 SELECT * FROM studentWHERE `name` = "孙悟空";SELE...
    99+
    2023-09-03
    sql 数据库 mysql
  • MySQL 模糊查询
    原文:https://blog.csdn.net/weixin_42114097/article/details/88229140 select * from user where username like CON...
    99+
    2017-02-22
    MySQL 模糊查询 数据库入门 数据库基础教程 数据库 mysql
  • mybatis Example Criteria like模糊查询问题怎么解决
    这篇“mybatis Example Criteria like模糊查询问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章...
    99+
    2023-07-05
  • 模糊查询如何解决sql语句注入问题
    模糊查询解决sql语句注入问题的示例:使用mysql中concat函数可以解决sql注入又能够在位置文件中写%,代码如下:<select id = "selectByName"...
    99+
    2022-10-23
  • MyBatis解决模糊查询包含特殊字符问题
    目录MyBatis解决模糊查询包含特殊字符第一块:MyBatis 实现模糊查询方式第二块:MyBatis 实现特殊字符处理之<![CDATA[ ]]>第三块:模糊查询包含...
    99+
    2023-02-07
    MyBatis模糊查询 查询包含特殊字符 MyBatis特殊字符
  • 模糊查询方法
    一、MySQL通配符模糊查询(%,_) 1-1. 通配符的分类 "%" 百分号通配符: 表示任何字符出现任意次数 (可以是0次)。 "_" 下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符。当然,也可以like "陈___...
    99+
    2023-09-02
    数据库 mysql java
  • Mysql 字段模糊查询,在页面中输入%查询全部的问题处理
    一、背景   测试小妹闲着无聊,针对某一个查询项进行“%”测试,正常查询效果应该是返回空数据,但是却查出所有的数据。 二、解决方案 1、在使用mybatis的模糊查询时,有两个特殊符号需要注意: %(百分号):相当于任意多个字符; _(下划...
    99+
    2023-08-20
    mysql mybatis java 后端
  • MyBatis实现模糊查询
    1.第一种方式 第一种方式:在java程序中,把like的内容组装好,把这个内容传入到sql语句 我们先在dao接口中定义一个方法 /ke的第一种方式List selectLikeOne(@Param("name") S...
    99+
    2023-10-20
    mybatis java mysql Powered by 金山文档
  • MySql模糊查询大全
    这是一条我们在MySQL中常用到的模糊查询方法,通过通配符%来进行匹配,其实,这只是冰山一角,在MySQL中,支持模糊匹配的方法有很多,且各有各的优点。好了,今天让我带大家一起掀起MySQL的小裙子,看一看模糊查询下面还藏着多少鲜为人知的好...
    99+
    2023-09-24
    mysql 数据库 sql
  • hibernate HQL 模糊查询 3
    以下是用 hibernate的HQL(面向对象的查询语言)实现模糊查询的3种方式,其中方式一是这三中方式中最理想的方式,至少方式一可以有效的防止由于查询条 件中需要参数的增多导致的代码长度太长出现代码折行的情况(代码太长会给后期的维护和测试...
    99+
    2023-01-31
    模糊 hibernate HQL
  • MYSQL中LIKE(模糊查询)
    文章目录 0 写在前面1 代码格式2 SQL数据准备3 举例3.1格式一:`[NOT] where 字段 LIKE '%' `:表示指代任意内容;3.2 格式四:[NOT] where 字段 LIKE '值1%'...
    99+
    2023-08-25
    mysql 数据库
  • mybatis-plus之模糊查询
    一、like like(R column, Object val)like(boolean condition, R column, Object val) LIKE '%值%'例: like("name", "王")--->name li...
    99+
    2023-09-07
    mybatis java mysql
  • MyBatis如何解决模糊查询包含特殊字符问题
    这篇“MyBatis如何解决模糊查询包含特殊字符问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MyBatis如何解决模糊...
    99+
    2023-07-05
  • 数据库中模糊查询索引问题的示例分析
    这篇文章将为大家详细讲解有关数据库中模糊查询索引问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 1、问题描述:  &...
    99+
    2022-10-18
  • Mybatis-Plus——分页+模糊查询
    建表:  create table pms_brand( brand_id bigint not null auto_increment comment '品牌id', name ...
    99+
    2023-09-22
    mybatis mysql
  • MySQL(51)MySQL LIKE:模糊查询
    MySQL LIKE:模糊查询 在 MySQL 中,LIKE 关键字主要用于搜索匹配字段中的指定内容。其语法格式如下: [NOT] LIKE '字符串' 其中:         NOT :可选参数,字段中的内容与指定的字符串不匹配时满足条件...
    99+
    2023-10-10
    数据库 java sql
  • SQL模糊查询的用法
    这篇文章主要介绍“SQL模糊查询的用法”,在日常操作中,相信很多人在SQL模糊查询的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL模糊查询的用法”的疑惑有所帮助!接...
    99+
    2022-10-18
  • php 数组中模糊查询
    PHP是一种强大的编程语言,常用于web开发。在PHP中,数组是一个非常重要的数据结构,被广泛应用于各种场景中,比如数据存储、数据传输、排序、过滤等等。数组处理中,模糊查询是一个重要的需求,而本文即围绕这一需求展开讨论。一、模糊查询的定义在...
    99+
    2023-05-19
  • SqlServer如何使用case when解决多条件模糊查询问题
    今天就跟大家聊聊有关SqlServer如何使用case when解决多条件模糊查询问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们在进行项目开...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作