sql实现模糊查询(idea:mapper层)

模糊查询是针对字符串操作的。

一、一般语句为:

SELECT 字段 FROM 表 WHERE 某字段 LIKE 条件;

eg1: 将student表中,列名name中包含的数据全部查询出来。

select * from student where name like '%张%'

eg2:将sys_org_info表中,列名org_name中包含北京的数据全部查询出来。

二、在idea中的mapper层或是dao层 可以用:where name like '%'+#{}+'%'  (只要传参 #{} 中包括关键字 name 中任意字段就可查询出数据库中包括传参字段在内的所有数据)

eg1:  查出user_info表中,列名user_name中包含#{userName}传入的数据全部查询出来。

select * from user_info where user_name like '%'+#{userName}+'%' 

eg2:用postman测idea接口:

1》mapper层select中的代码:{ 想理解代码可看下文:拓展部分}

 SELECT
        a.*,
        b.org_name orgName
 FROM
        suite_terms a
 LEFT JOIN 
        (SELECT org_name FROM org_info where status=1) b
 ON 
        a.org_code = b.org_code
 WHERE 
        a.status=1 and a.is_hide_on_web=0
        <if test="type==2">
            and a.suite_name like '%'+#{text}+'%'
        </if>

2》postman测试: 

参考文章:


SQL实现模糊查询的几种方法总结   http://t.csdn.cn/CYMcN
SQL怎么实现模糊查询 http://t.csdn.cn/nIUoU

拓展部分:


mapper层select中的sql代码理解: 

Ⅰ、最终目的:查出表suite_terms(表a)中的所有数据和表org_info(表b)中的org_name(下文简称表a表b

Ⅱ、当a.org_code=b.org_code表a左连接表b

Ⅲ、左连接时对表b做了操作,查出表b中满足status=1的org_name

Ⅳ、最终查出数据需满足两个条件:

       第一:表a a.status=1 and a.is_hide_on_web=0;

       第二:传参符合a.suite_name关键字模糊查询条件。(eg:表中suite_name字段存储的数据中包含从业体检A(女)、从业体检B(女),传参“从业” 就可将数据库表中关键字为suite_name的字段中包含从业的都搜索出来)

Ⅴ、其中if判断为mybatis-plus的方法【我在controller层接受了两个参数:searchTypesearchtext,在Dao层将searchTypesearchtext重命名为type和text】,在if判断中: type->1 搜索医院;type->2 搜索体检套餐;#{text}表示输入值(此处的前端页面参考pdd选择搜索商铺或商品)

在使用MyBatis等持久框架时,通常需要编MapperSQL代码。为了减少手动编SQL的工作量,可以考虑使用代码生成工具来自动生成MapperSQL代码。 一种常见的做法是使用MyBatis Generator(简称MBG)来生成Mapper的代码。MBG是一个功能强大的代码生成工具,可以根据数据库表结构自动生成Mapper接口、XML文件以及实体类。 下面是一个简单的步骤来实现MapperSQL代码的自动生成: 1. 配置MBG:在项目中引入MBG的依赖,并配置MBG的配置文件。配置文件中需要指定数据库连接信息、生成的目标包结构、生成规则等。 2. 定义表结构:在数据库中创建表,并确保表的命名规范符合MBG的要求。MBG会根据表结构生成对应的实体类和Mapper接口。 3. 编MBG配置文件:在MBG配置文件中定义要生成的表、生成的目标路径、生成的文件类型等信息。可以使用XML或者Java代码两种方式来编MBG配置文件。 4. 运行MBG:使用命令行或者IDE插件运行MBG,让其读取配置文件并生成代码。MBG会根据配置文件中定义的规则,自动生成Mapper接口、XML文件和实体类。 5. 使用生成的代码:将生成的Mapper接口、XML文件和实体类拷贝到项目中的对应位置,并在业务代码中使用它们。 通过以上步骤,就可以实现MapperSQL代码的自动生成。这样可以大大减少手动编SQL的工作量,提高开发效率。当数据库表结构有变动时,只需要重新运行MBG即可更新生成的代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值