模糊查询(仅针对后端)

只是后台完成 没有跟前台连接

需求 :可通过姓名、电话、邮件来模糊查询

1.mapper.xml

注意 对象"com.catgo.admin.entity.User" 这个包名是Java文件夹往下

<!--  模糊查询  -->
//parameterType:参数类型 因为在这儿传的是一个User对象
//resultType:返回的结果类型 最后通过一个对象里的字段 返回的也是一个对象
    <select id="selectLike" parameterType="com.catgo.admin.entity.User" resultType="com.catgo.admin.entity.User">
        select * from tb_user
        <include refid="where_sql"></include>
    </select>//把查询条件扩展出来
    <sql id="where_sql">
        <where>
            <if test="username!=null">
                username like concat('%',#{username},'%')
            </if>
            <if test="phone!=null">
                and phone like concat('%',#{phone},'%')
            </if>
            <if test="email!=null">
                and email like concat('%',#{email},'%')
            </if>
        </where>
    </sql>
</mapper>
注意符号
  // `#{username}` 也可用两个单引号引起来  是最左上角的符号
  //不是‘’ 不是回车旁边的符号 切记 加不加看情况 有时加了还报错
  //加``区别于数据库里的关键字 相当于是我自己写的一个字段

2.mapper的接口

mapper的接口

3.mapper测试类

3.1 由于数据库里的字段设置了不能为空

数据库里的字段
mapper测试类

4.service 目前能想到的业务只有判断此用户是否存在

service接口

4.1serviceImpl

serviceImpl

5.controller

controller

6.PostMan测试

6.1 由于写法写的json数据

PostMan测试

7.(额外)关于Result部分 写在公共类的结果返回正确与否的通用方法

公共类的Result部分
package com.catgo.common.core;

import lombok.Data;

@Data
public class Result<T> {
    private String code;
    private String message;
    private T data;

    /**
     * 构造函数
     */
    private Result(String code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    private Result(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public static Result fail(String message) {
        return new Result("1111", message);
    }

    public static Result ok(String message) {
        return new Result("0000", message);
    }

    public static Result ok(Object data) {
        return new Result("0000", "success", data);
    }
}

推荐阅读更多精彩内容