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/ Mybatis 通用 Mapper 3.3.1 发布下载地址