Mybatis 通用 Mapper 3.3.1 发布

jopen 8年前

MyBatis通用Mapper3,极其方便的使用MyBatis单表的增删改查

3.3.1更新日志

  • 增加enableMethodAnnotation参数,可以控制是否支持方法上的JPA注解,默认false。设置enableMethodAnnotation = true的时候注意,如getRealName或setYourName都会产生realName属性或yourName属性,如果该方法对应的属性不是表中的字段,就需要给方法增加@Transient注解。同样如果你的实体是继承Map类型的,你不需要在实体中写private String userName这样的属性,你只需要写setUserName或getUserName这样的方法就可以。

  • 在处理的注解的时候,优先从Field获取,然后是setter方法,最后是getter方法,注解重复的情况下,只获取按顺序得到的第一个

  • 为了支持如public class Country extends Entity<Integer, String>这样的泛型类型,在生成#{propertyName}的时候都带上了javaType属性。产生的结果就是#{propertyName, javaType=java.lang.Integer}这样子的,这会导致当你调用方法时,必须保证类型一致。也就是假设主键是Integer id,调用selectByPrimaryKey(Object id)的时候,参数id必须使用100这样的数字,不能使用"100"字符串(以前版本可以)。如果不带javaType,那么如果id是个泛型,MyBatis查找的时候就会因为找不到正确的类型而抛出异常。

  • 为了让扩展更方便,将tk.mybatis.mapper.provider包下所有的通用接口的实现方法改为了String形式。自己扩展单表操作的方法是非常容易的事情,建议有一定通用Mapper使用基础的自行扩展,扩展可以参考如何扩展通用接口

  • 新增SqlHelper工具类,其中包含了大量可用的现成的SQL方法

  • @Column注解增加对insertable和updatable属性的支持

使用Maven

<dependency>      <groupId>tk.mybatis</groupId>      <artifactId>mapper</artifactId>      <version>3.3.1</version>  </dependency>

引入Jar包,下载地址:

https://oss.sonatype.org/content/repositories/releases/tk/mybatis/mapper

http://repo1.maven.org/maven2/tk/mybatis/mapper

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

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