【MyBatis】学习笔记07:模糊查询
【MyBatis】学习笔记03:配置文件进一步解读(非常重要)
【MyBatis】学习笔记06:各种查询所返回数据的数据类型
写法1:$
/**
* 根据用户名模糊查询
* @param username 用户名的关键字
* @return List<User> 用户列表
*/
List<User> getUserByLike(@Param("username") String username);
<!-- List<User> getUserByLike(@Param("username") String username);-->
<select id="getUserByLike" resultType="User">
select * from t_users where userName like "%${username}%"
</select>
@Test
public void testGetUserByLike(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);
List<User> list = mapper.getUserByLike("三");
System.out.println(list);
}
[User{userId='5',userName='张三'userCount='mllt@xrilang.com',userPassword='123'userGrade='0',userRegDate='null'userBlance='0'}, User{userId='6',userName='李三'userCount='xirlang@mllt.c',userPassword='124'userGrade='0',userRegDate='null'userBlance='0'}]
写法2:concat拼接
<!-- List<User> getUserByLike(@Param("username") String username);-->
<select id="getUserByLike" resultType="User">
<!-- select * from t_users where userName like "%${username}%"-->
select * from t_users where userName like concat("%",#{username},"%")
</select>
<!--concat 拼接-->
[User{userId='5',userName='张三'userCount='mllt@xrilang.com',userPassword='123'userGrade='0',userRegDate='null'userBlance='0'}, User{userId='6',userName='李三'userCount='xirlang@mllt.c',userPassword='124'userGrade='0',userRegDate='null'userBlance='0'}]
写法3:#(推荐使用)
<!-- List<User> getUserByLike(@Param("username") String username);-->
<select id="getUserByLike" resultType="User">
<!-- select * from t_users where userName like "%${username}%"-->
<!-- select * from t_users where userName like concat("%",#{username},"%")-->
select * from t_users where userName like "%"#{username}"%"
</select>
[User{userId='5',userName='张三'userCount='mllt@xrilang.com',userPassword='123'userGrade='0',userRegDate='null'userBlance='0'}, User{userId='6',userName='李三'userCount='xirlang@mllt.c',userPassword='124'userGrade='0',userRegDate='null'userBlance='0'}]
【MyBatis】学习笔记07:模糊查询的更多相关文章
- MyBatis:学习笔记(3)——关联查询
MyBatis:学习笔记(3)--关联查询 关联查询 理解联结 SQL最强大的功能之一在于我们可以在数据查询的执行中可以使用联结,来将多个表中的数据作为整体进行筛选. 模拟一个简单的在线商品购物系统, ...
- mybatis学习笔记(10)-一对一查询
mybatis学习笔记(10)-一对一查询 标签: mybatis mybatis学习笔记10-一对一查询 resultType实现 resultMap实现 resultType和resultMap实 ...
- Oracle学习笔记_07_模糊查询
附录:参考资料 1.Oracle sql语言模糊查询--like后面的通配符 2.oracle sql语言模糊查询--通配符like的使用教程
- Mybatis学习笔记(七) —— 关联查询
一.一对多查询 需求:查询所有订单信息,关联查询下单用户信息. 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息出发查询用户下的订单信息则 ...
- Mybatis学习笔记7 - select查询的相关属性使用
1.当接口的返回类型是集合List时,resultType要写集合中元素的类型 示例如下: 接口定义: package com.mybatis.dao; import com.mybatis.bean ...
- mybatis学习笔记(14)-查询缓存之中的一个级缓存
mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...
- Mybatis学习笔记(二) 之实现数据库的增删改查
开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...
- Mybatis学习笔记二
本篇内容,紧接上一篇内容Mybatis学习笔记一 输入映射和输出映射 传递简单类型和pojo类型上篇已介绍过,下面介绍一下包装类型. 传递pojo包装对象 开发中通过可以使用pojo传递查询条件.查询 ...
- Mybatis学习笔记之二(动态mapper开发和spring-mybatis整合)
一.输入映射和输出映射 1.1 parameterType(输入类型) [传递简单类型] 详情参考Mybatis学习笔记之一(环境搭建和入门案例介绍) 使用#{}占位符,或者${}进行sql拼接. [ ...
- mybatis 学习笔记(二):mybatis SQL注入问题
mybatis 学习笔记(二):mybatis SQL注入问题 SQL 注入攻击 首先了解下概念,什么叫SQL 注入: SQL注入攻击,简称SQL攻击或注入攻击,是发生于应用程序之数据库层的安全漏洞. ...
随机推荐
- OOP的核心思想
1. 封装 既是信息封装,把一些信息进行封装成对象,只保留部分接口和方法与外部联系,能有效避免程序间相互依赖,实现代码模块间松藕合 : 2. 继承 子类自动继承父类的属性和方法,继承实现了代码的重用性 ...
- Nuxt.js 应用中的 kit:compatibility 事件钩子详解
title: Nuxt.js 应用中的 kit:compatibility 事件钩子详解 date: 2024/10/11 updated: 2024/10/11 author: cmdragon e ...
- python数据结构学习第一章——栈
在这片文章中,我们使用python3.8自制一个具有基本功能的栈结构,它的功能只有push,pop,peek这三个功能 ` #!/usr/bin/env python # * coding: utf- ...
- JOI Open 2018
T1 Bubble Sort 2 题意:给定一个长度为 \(n\) 的序列 \(a\),进行 \(q\) 次修改,第 \(i\) 次将第 \(x_i\) 个元素的值修改为 \(y_i\). 对于每次操 ...
- 强大的无头UI表格库:TanStack Table!Github Star达到了惊人的25K!
强大的无头UI表格库:TanStack Table!Github Star达到了惊人的25K! 在构建现代化 Web 应用时,表格和数据网格是常见的 UI 组件,特别是在处理大量数据或需要复杂交互时, ...
- 我被 .NET8 JIT 的一个BUG反复折磨了半年之久
很久很久没有写过博客了, 正好最近园子又挣得一线生机, 必须得凑个热闹水一篇. 事情是这样的, 在今年的早些时候, 把公司的一部分api服务器的.net版本从6升级到了8, 毕竟6马上就是EOL了(. ...
- flink jobmanager 终止任务失败问题
flink jobmanager 终止任务失败问题 :root { --default-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, ...
- AI五子棋_09 消息循环实现自动对局
AI五子棋 第九步 恭喜你到达第九步! 上一步我们已经完成了一个AI大脑的最核心功能.我们可以用它来对战了. 访问服务器 http://202.207.12.156:9012/join_game,会返 ...
- 解决IDEA中SpringBoot框架使用@Autowired注解方式注入mapper对象出现红色下划线的问题
点击编译器左上角File,点击settings进入设置界面,找到图片中对应的位置,将红线圈住的地方改为Warning,点击右下角的Apply即可
- 【2024.9.30】NOIP2024 赛前集训-刷题训练(4)
[2024.9.30]NOIP2024 赛前集训-刷题训练(4) Problem - 2000D - Codeforces 给一串数和一串LR字符,L 可以向右连接 R, 覆盖部分的LR不能再使用,但 ...