接口类综合代码:
public interface SQLMapper {
    /**
     * 根据用户名模糊查询用户信息
     */
    List<User> getUserByLike(@Param("username") String username);
    /**
     * 批量删除
     */
    int deleteMore(String ids);
    /**
     * 查询指定表中的数据
     */
    List<User> getUserByTableName(String tableName);
    /**
     * 添加用户
     */
    void insetUser(User user);
}
1、模糊查询
SQLMapper类:
public interface SQLMapper {
    /**
     * 根据用户名模糊查询用户信息
     */
    List<User> getUserByLike(@Param("username") String username);
}
SQLMapper.xml:
<!--    List<User> getUserByLike(@Param("username") String username);-->
<!--    使用#{},因为包括在单引号里,会被认为是字符串的一部分:select * from t_user where username like '%#{username}%'-->
<!--    三种方式-->
    <select id="getUserByLike" resultType="User">
     <!--  第一种 select * from t_user where username like '%${username}%'
       第二种 select * from t_user where username like concat('%', #{username}, '%')-->
       <!--第三种 推荐使用-->
        select * from t_user where username like "%"username"%"
    </select>
测试类:
    @Test
    public void testGetUserByLike(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);
        List<User> user = mapper.getUserByLike("RUOYI");
        System.out.println(user);
    }
2、批量删除
SQLMapper类:
public interface SQLMapper {
    /**
     * 批量删除
     */
    int deleteMore(String ids);
}
SQLMapper.xml:
<!--    int deleteMore(String ids);-->
<!--    不能使用#{},因为他会自动添加单引号,变成delete from t_user where id in ('9,10,11')-->
    <delete id="deleteMore">
        delete from t_user where id in (${ids})
    </delete>
测试类:
    @Test
    public void testDeleteMore(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);
        int result = mapper.deleteMore("12, 13");
        System.out.println(result);
    }
3、动态设置表名
SQLMapper类:
public interface SQLMapper {
    /**
     * 查询指定表中的数据
     */
    List<User> getUserByTableName(String tableName);
}
SQLMapper.xml:
<!--    List<User> getUserByTableName(String tableName);-->
    <select id="getUserByTableName" resultType="User">
        select * from ${tableName}
    </select>
测试类:
    @Test
    public void testGetUserByTableName(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);
        List<User> t_user = mapper.getUserByTableName("t_user");
        System.out.println(t_user);
    }
4、添加功能获取自增的主键
SQLMapper类:
public interface SQLMapper {
    /**
     * 添加用户
     */
    void insetUser(User user);
}
SQLMapper.xml:
<!--    void insetUser(User user);-->
<!--    方法的返回值是固定的
        useGeneratedKeys    设置当前标签中的sql使用了自增的主键 (id)
        keyProperty         将自增的主键的值 赋值给 传输到映射文件中的参数的某个属性(user.id)
-->
    <insert id="insetUser" useGeneratedKeys="true" keyProperty="id">
        insert into t_user values(null, #{username}, #{password},#{age},#{gender},#{email})
    </insert>
测试类:
    @Test
    public void testInsetUser(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);
        mapper.insetUser(new User(null, "兔兔","111",11,"f","abc@qq.com"));
    }