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

  • Post author:
  • Post category:其他


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>

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



版权声明:本文为qq_43544074原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。