1、3种方式模糊查询
建议使用第三种
/* 测试模糊查询 */
List<User> queryByBName(@Param("userName") String userName);
<!--List<User> queryByBName(@Param("userName") String userName);-->
<select id="queryByBName" resultMap="BaseResultMap">
<!--select * from user where user_name like '%${userName}%'-->
<!--select * from user where user_name like concat('%',#{userName},'%')-->
select * from user where user_name like "%"#{userName}"%"
</select>
2、批量删除
不建议使用
,做内部封装不对外提供可考虑使用
/* 批量删除 */
int deleteSome(@Param("ids") String ids);
<!--int deleteSome(@Param("ids") String ids);-->
<delete id="deleteSome">
delete from user where user_id in(${ids})
</delete>
3、动态设置表名
不建议使用
/* 动态设置表名,查询所有的用户信息 */
List<User> getAllUser(@Param("tableName") String tableName);
<!--List<User> getAllUser(@Param("tableName") String tableName);-->
<select id="getAllUser" resultType="User">
select * from ${tableName}
</select>
4、添加功能获取自增的主键
/**
* 添加用户信息
* -
* useGeneratedKeys:设置使用自增的主键
* keyProperty:因为增删改有统一的返回值是受影响的行数,
* 因此只能将获取的自增的主键放在传输的参数user对象的某个属性中
*/
int insertUser(User user);
<!--int insertUser(User user);-->
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
insert into user values(null,#{username},#{password},#{age},#{sex})
</insert>