spring boot项目进行模糊查询(也就是简单搜索)

						**效果如下**

在这里插入图片描述在这里插入图片描述
既然是spring boot项目,就要有
entity层,dao层,service层,controller层

Entity层:

根据自己数据的字段,进行定义,本章就不介绍

DAO层:

在这里插入图片描述

@Query(value="select * from stu  where name like CONCAT('%',:name,'%')",nativeQuery=true)
	   List<Stu> findByName(@Param("name") String name);

Service层:

在这里插入图片描述

public List<Stu> findByName(String name){
		return stuDAO.findByName(name);
	}

Controller层:

在这里插入图片描述

//模糊查询
	@RequestMapping(value="dim")
	public String dim(Model model,HttpServletRequest request) {
		String name=request.getParameter("name");		//获取html页面搜索框的值
		List<Stu> unit=stuService.findByName(name);	//在数据库中进行查询
		model.addAttribute("unit", unit);	//模板映射
		return "page/demo/dim";
	}

Html界面:

搜索:<input type="text" name="name" placeholder="请您输入你要查询的内容" />
  				<input type="submit" value="搜素" />

在这里插入图片描述
在这里插入图片描述
ps:Html代码主要实现这个界面

  • 15
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用 Spring Data JPA 中的 Query By Example(QBE)实现模糊查询。QBE 是一种基于实体类的动态查询方式,可以根据实体类的属性值来构建查询条件。具体实现步骤如下: 1. 创建一个实体类,该实体类中包含需要查询的属性。 2. 创建一个 Example 对象,将需要查询的属性值设置到该对象中。 3. 创建一个 ExampleMatcher 对象,设置匹配规则,如忽略大小写、模糊查询等。 4. 调用 JpaRepository 中的 findAll 方法,将 Example 对象和 ExampleMatcher 对象作为参数传入即可。 下面是一个示例代码: ```java // 实体类 @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // getter 和 setter 略 } // DAO 接口 public interface UserRepository extends JpaRepository<User, Long> { } // Service 类 @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> findUsers(String name) { User user = new User(); user.setName(name); ExampleMatcher matcher = ExampleMatcher.matching() .withMatcher("name", match -> match.contains().ignoreCase()); Example<User> example = Example.of(user, matcher); return userRepository.findAll(example); } } ``` 以上代码实现了根据用户名进行模糊查询的功能。其中,ExampleMatcher 中的 withMatcher 方法用于设置匹配规则,"name" 表示要匹配的属性名,match.contains() 表示使用模糊查询,ignoreCase() 表示忽略大小写。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值