开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Mapper首页、文档和下载 - Mybatis 通用 Mapper - 开源中国社区
全部项目分类
MIT
Java 查看源码»
跨平台
Liuzh_533
分享
收藏
300 人收藏
收录时间:2014-11-22
Mapper 详细介绍

Mybatis 通用 Mapper

  • 极其方便的使用 Mybatis 单表的增删改查,支持单表操作,不支持通用的多表联合查询

优点:

  • 通用 Mapper 可以极大的方便开发人员。

  • 为了让您更方便的了解通用 Mapper,下面贴一段代码来看实际效果。

通用Mapper

通用 Mapper 可以缓存,全部针对单表操作,每个实体类都需要继承通用 Mapper 接口来获得通用方法。

示例代码:

CountryMapper mapper = sqlSession.getMapper(CountryMapper.class);//查询全部List<Country> countryList = mapper.select(new Country());//总数Assert.assertEquals(183, countryList.size());//通用Example查询Example example = new Example(Country.class);
example.createCriteria().andGreaterThan("id", 100);
countryList = mapper.selectByExample(example);
Assert.assertEquals(83, countryList.size());//MyBatis-Generator生成的Example查询CountryExample example2 = new CountryExample();
example2.createCriteria().andIdGreaterThan(100);
countryList = mapper.selectByExample(example2);
Assert.assertEquals(83, countryList.size());

CountryMapper 代码如下:

public interface CountryMapper extends Mapper<Country> {
}

这里不说更具体的内容,如果您有兴趣,可以查看下面的项目文档

实体类注解

从上面效果来看也能感觉出这是一种类似 hibernate 的用法,因此也需要实体和表对应起来,因此使用了 JPA 注解。更详细的内容可以看下面的项目文档

Country 代码:

public class Country {
    @Id
    private Integer id;    @Column
    private String countryname;    private String countrycode;    //省略setter和getter方法}

使用 Mapper 专用的 MyBatis Generator 插件 可以方便的生成这些(带注解的)实体类。

通用 Mapper 支持 Mybatis-3.2.4 及以上版本

更新日志

Maven 坐标以及下载地址

如果你使用 Maven,只需要添加如下依赖:

<dependency>
    <groupId>com.github.abel533</groupId>
    <artifactId>mapper</artifactId>
    <!-- 可以通过上面的更新日志来看最新的版本号 -->
    <version>x.x.x</version></dependency>

如果你想引入 Jar 包,你可以从下面的地址下载:

https://oss.sonatype.org/content/repositories/releases/com/github/abel533/mapper/

http://repo1.maven.org/maven2/com/github/abel533/mapper/

由于通用 Mapper 依赖 JPA,所以还需要下载 persistence-api-1.0.jar:

http://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/

项目文档

通用Mapper

  1. 如何集成通用 Mapper

  2. 如何使用通用 Mapper

  3. 3.3.0 版本新增功能用法文档

  4. 根据需要自定义接口

  5. Mapper3 通用接口大全

  6. 扩展通用接口

  7. 使用 Mapper 专用的 MyBatis 生成器插件

  8. 在 Spring4 中使用通用 Mapper

  9. Mapper3 常见问题和用法

作者信息

作者博客:http://blog.csdn.net/isea533

作者邮箱: abel533@gmail.com

推荐使用 Mybatis 分页插件:PageHelper 分页插件

官方网站:www.mybatis.tk

Mapper

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 Mapper 的评论 (全部 11 条评论)
{{repayCom.userName}}
服气了破网站
自从用了这个通用mapper,整天在解决莫名其妙的问题。也是醉了。早知道我不用了,太坑了,肠子都悔青了。
recotone
BaseMapper中的updateByPrimaryKeySelective和updateByPrimaryKey 有BUG,不是调用者期望的结果,where 后跟的条件把所有属性都带上了,不科学 #Mybatis 通用 Mapper#
polly
生生把mybatis改成hibernate的criteria,不知道为什么不直接用h呢
尚码China
1、通用mapper的Condition查询使用pagehelper进行分页,只执行统计总数的SQL,不执行查询数据的,是不是BUG?
2、在实体类主键使用@GeneratedValue(generator="UUID"),只有主键为null才进行生成,主键为空串""的时候没有生成,这是怎么回事?
zack_zy
已经先后在三个项目中使用了,很好用
Mapper 相关博客
顶部