仅能使用${}三种情况
模糊查询
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>
朋友和酒,少年和诗,路和远方。