Mybatis 通用 Mapper 3.3.1 發布
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/