仅能使用${}三种情况
模糊查询
mapper接口:这里使用username进行模糊查询
List<User> selectUserByLikeName( @Param("username") String username);
映射文件:这里可以使用三种方式,第一种是使用${},因为#{}无法在单引号中使用,要么使用concat()进行拼接+#{},或者使用双引号的方式括住%,常用第三种
<!-- List<User> selectUserByLikeName( @Param("username") String username);-->
<select id="selectUserByLikeName" resultType="User">
<!-- select * from user where username like '%${username}%' -->
<!-- select * from user where username like concat('%',#{username},'%') -->
select * from user where username like "%"#{username}"%"
</select>
批量删除
只能使用${}用来接收参数
mapper接口:
void deleteMore(@Param("userid") String userid);
映射文件:in的作用相当于or
<!-- void deleteMore(@Param("userid") String userid);-->
<delete id="deleteMore">
delete from user where userid in (${userid})
</delete>
调用:
userMapper.deleteMore("6,7,8,9,10,12");
动态设置表名
将表名作为参数传入并使用,仅能使用${},应为表名不能加单引号,#{}会默认加单引号
mapper接口:
List<User> selectAllUser3( @Param("tableName") String tableName);
映射文件:
<!-- List<User> selectAllUser( @Param("tableName") String tableName);-->
<select id="selectAllUser3" resultType="User">
select * from ${tableName};
</select>
朋友和酒,少年和诗,路和远方。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~