MyBatis mapper动态代理 xml特殊字符和分页
mapper映射文件的特殊字符
RowBounds 分页
1.映射特殊字符
XML中共有5个特殊的字符,分别是:&<>"'。如果配置文件中的值包括这些特殊字符,就需要进行特别处理。有两种解决方法:
其一,采用特殊标签,将包含特殊字符的字符串封装起来。
例如:

<TitleName><![CDATA["姓名"]]></TitleName>
其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列为:
& &
< <
> >
" "
' '
例如:
<TitleName>"姓名"</TitleName>
2.RowBounds 分页
2.1 修改映射配置文件
<!--查询所有数据使用 RowBounds 实现分页处理-->
<select id="selectUsersRowBounds" resultType="users">
select * from users
</select>
2.2 修改接口方法

2.3修改实现类

2.4 测试类

3.SQL的limit分页
3.1Mapper 映射配置
<!-- SQL的limit分页-->
<select id="SQLLimitUser" resultType="users">
select * from users limit #{offset}, #{limit}
</select>
3.2接口方法 用@param注解传递多参数
/**
* SQL分页 limit
* @param offset
* @param limit
* @return
*/
List<Users> SQLLimitUser(@Param("offset")int offset, @Param("limit")int limit);
3.3实现方法
@Override
public List<Users> SQLLimitUser(int offset, int limit) {
SqlSession ss = MyBatisUtil.getSqlSession();
UsersMapper mapper = ss.getMapper(UsersMapper.class);
List<Users> list = mapper.SQLLimitUser(offset, limit);
return list;
}
3.4验证方法
/**
* @author
*/
public class SQLUsersLimitTest {
public static void main(String[] args) {
UsersMapper um = new UsersServiceImpl();
List<Users> list = um.SQLLimitUser(1, 3);
list.forEach(System.out::println);
}
}

浙公网安备 33010602011771号