SpringBoot中SQL多字段查询的具体写法。

本文介绍了如何在SQL中使用一个关键字进行多字段的模糊查询,通过Controller、Service、Mapper及XML配置实现Java项目的查询功能。关键代码包括@PreAuthorize注解授权、GetMapping方法定义、Dto接收查询参数、Mapper接口及SQL语句,其中使用CONCAT和LIKE操作符进行关键字匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、这篇文章  中写了SQL 的具体写法

SQL中用一个关键字(词)匹配表里面多个字段(或属性)进行查询https://blog.csdn.net/qq_43544074/article/details/120352323

2、本篇写具体代码的写法如下:

Controller写法

    /**
     * 一个关键字模糊查询多个字段
     */
//权限标签
@PreAuthorize("@ss.hasPermi('test:testone:keyword')")
    //访问地址
    @GetMapping("/keyword/{keyWord}")
    public TableDataInfo querykeyword(@PathVariable String keyWord)
    {
        List<QueryDto> list = testTwoJavaProjectQueryService.selectQuerykeyword(keyWord);
        return getDataTable(list);
    }

//Dto接收查询结果,返回

import java.util.Date;
public class QueryDto {
    /** ID */
    private String Id;
    /** 名称 */
    private String name;
    /** 类型 */
    private String type;
    /** 标签 */
    private String tag;
    /** 状态 */
    private String Status;
    //然后生成get 、set 方法即可
}

//Service写法 

 public List<QueryDto> selectQuerykeyword(String keyWord);

//实现类写法

@Override
    public List<QueryDto> selectQuerykeyword(String keyWord) {
        return testTwoJavaProjectQueryMapper.selectQuerykeywordlist(keyWord);
    }

//testTwoJavaProjectQueryMapper.java Mapper写法

 public List<QueryDto> selectQuerykeywordlist(String keyWord);

  //xml 写法

    <resultMap type="com.test.dto.QueryDto" id="QueryDtoResult">
        <result property="id"    column="id"    />
        <result property="name"    column="name"    />
        <result property="type"    column="type"    />
        <result property="tag"    column="tag"    />
        <result property="status"    column="status"    />
    </resultMap>

    <sql id="testTwoJavaProjectQuerylistVo">
        SELECT * FROM(
            select id,name,type,tag,status,'TABLEONE' tablename from TABLEONE
            UNION
            select id,name,type,tag,status,'TABLETWO' tablename from TABLETWO) AB 
    </sql>

    <select id="selectQuerykeywordlist" parameterType="com.test.dto.QueryDto" resultMap="QueryDtoResult">
        <include refid="testTwoJavaProjectQuerylistVo"/>
        <where>
            <if test="keyWord != null and keyWord != ''"> CONCAT(id,model,type,status) LIKE concat('%',#{keyWord},'%')</if>
        </where>
    </select>

至此即可完成一个关键字查询多个字段的模糊查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值