SSM框架中 sql语句模糊查询

在SSM(Spring + Spring MVC + MyBatis)框架中实现模糊查询,通常需要在Mapper接口中定义SQL语句,并在Service层调用该接口方法。以下是一个简单的示例:

1.在Mapper接口中定义模糊查询的方法:

// UserMapper.java
public interface UserMapper {
    List<User> findByUsernameLike(@Param("username") String username);
}

2.在对应的Mapper XML文件中编写模糊查询的SQL语句:

<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="findByUsernameLike" resultType="com.example.entity.User">
        SELECT * FROM user WHERE username LIKE CONCAT('%', #{username}, '%')
    </select>
</mapper>

3.在Service层调用Mapper接口方法进行查询:

// UserService.java
@Service
public class UserService {
 
    @Autowired
    private UserMapper userMapper;
 
    public List<User> searchByUsername(String username) {
        return userMapper.findByUsernameLike(username);
    }
}

4.在Controller层调用Service层方法并处理请求:

// UserController.java
@Controller
@RequestMapping("/user")
public class UserController {
 
    @Autowired
    private UserService userService;
 
    @GetMapping("/search")
    public String search(@RequestParam("username") String username, Model model) {
        List<User> users = userService.searchByUsername(username);
        model.addAttribute("users", users);
        return "userList"; // 假设有一个userList的视图用于展示用户列表
    }
}

在这个例子中,我们定义了一个findByUsernameLike的方法,它接受一个username参数,并在SQL语句中使用LIKE关键字进行模糊查询。CONCAT函数用于拼接SQL语句中的查询字符串,实现了百分号(%)的前后缀匹配。在Service层,我们调用了Mapper接口的方法来执行查询,并在Controller层处理了HTTP请求,将查询结果传递给视图进行展示。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曦月合一

你的鼓励是我们前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值