SpringBoot + Mybatis实现关键字模糊查询

  1. 先写一个REST端点——Controller

Class: controller/TestController.class

package controller;

@GetMapping("/search")
public List<UserInfo> search(String keyword) {
     return userInfoService.searchByKeyWord(keyword);
}

  1. 写业务接口——sevice

Class:service/UserinfoService.class

package service;

@Service
public interface UserInfoService {
	//关键词模糊查询
    List<UserInfo> searchByKeyWord(String keyword);
}
  1. 写业务接口的实现类——service/impl

Class: service/impl/UserInfoServiceImpl.class

package service.impl;

@Service
public class UserInfoServiceImpl implements UserInfoService {
	@Override
    public List<UserInfo> searchByKeyWord(String keyword) {
        return userInfoDao.searchByKeyWord(keyword);
    }
}
  1. 写映射层接口——dao

Class: dao/UserInfoDao.class

package dao;

@Mapper
public interface UserInfoDao {
	//关键词模糊查询
    List<UserInfo> searchByKeyWord(String keyword);
}
  1. 写sql映射文件——resource/mapper

UserInfo.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.UserInfoDao">
	<select id="searchByKeyWord" parameterType="String" resultType="UserInfo">
        SELECT * FROM userinfo
        WHERE 1 = 1
        <if test="keyword != null and keyword != ''">
            AND id||username||role LIKE '%'||#{keyword}||'%'
        </if>
        ORDER BY id
    </select>
</mapper>
  • Id, username, role 是要查询表中的字段
  • ||用于拼接,与CONCAT关键字类似
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值