MyBatis 工具
这次介绍两个 Mybatis 的两个工具:通用 Mapper 与 分页插件PageHelper
都是 Github 上面的 abel533 作者写的
通用 Mapper
极其方便的使用MyBatis单表的增删改查。(支持单表操作,不支持通用的多表联合查询)
分页插件 - PageHelper
PageHelper 是一款非常方便的分页插件,是物理分页。支持复杂的单表、多表分页。
Maven 引入
1 | <!--Mybatis 通用 Mapper --> |
在 Mybatis 配置中配置拦截器插件
pagehelper 的相关配置
1 | <!-- |
pagehelper 使用示例
Service 类
1 | /** |
Controller 类
1 |
|
jsp 页面中
可以根据需要获取下列信息
1 | ${pageInfo.list} 数据 List |
通用 Mapper 配置
个人在 Spring 的 xml 配置的1
2
3
4
5
6
7
8
9
10
11
12<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.isea533.mybatis.mapper"/>
<!-- 3.2.2版本新特性,markerInterface可以起到mappers配置的作用,详细情况需要看Marker接口类 -->
<property name="markerInterface" value="com.isea533.mybatis.util.MyMapper"/>
<!-- 通用Mapper通过属性注入进行配置,默认不配置时会注册Mapper<T>接口
<property name="properties">
<value>
mappers=tk.mybatis.mapper.common.Mapper
</value>
</property>
-->
</bean>
继承通用的 Mapper,必须指定泛型
公共 Mapper
1 | public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> { |
自己的Mapper1
2
3public interface CountryMapper extends MyMapper<Country> {
}
Service 中使用
1 | "countryService") ( |
小结
在作者的 Mybatis-Spring 示例项目中自动生成的 Mapper 接口需要手动继承 MyMapper,不然会报错
参考资料
- Mybatis 分页插件 - PageHelper http://git.oschina.net/free/Mybatis_PageHelper
- MyBatis 通用 Mapper http://git.oschina.net/free/Mapper
- MyBatis Generator 介绍-中文 http://generator.sturgeon.mopaas.com/
- MyBatis Generator 介绍-官 http://www.mybatis.org/generator/