皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Mybatis 通用 Mapper 3.5.0 发布

Mybatis 通用 Mapper 3.5.0 已发布。MyBatis 通用 Mapper 极其方便的使用 MyBatis 单表的增删改查,支持单表操作,不支持通用的多表联合查询。通用 Mapper 可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。

通用 Mapper 更新日志

  • 兼容 mbg 1.3.6 版本。
  • EntityColumn 记录 EntityField 信息,方便后续扩展使用。
  • 针对 update 两个基本方法增加乐观锁功能,在实体类对版本字段增加 @Version 注解即可,默认支持 Integer 和 Long类型,其他情况可以实现 NextVersion 接口并在注解中指定该实现,一个实体类中最多只能有一个加 @Version 注解的字段。
  • 3.4.0增加的 useSimpleType 默认值改为 true,默认忽略复杂类型的字段,复杂类型不需要加 @Transient 注解,具体类型可以参考 SimpleTypeUtil 类。
  • 新增 annotationAsSimpleType 参数,默认 false,设置为 true 后会把枚举作为简单类型对待,需要配合 useSimpleType = true 使用。
  • 新增 wrapKeyword 参数,配置后会自动处理关键字,可以配的值和数据库有关,例如 sqlserver 可以配置为 [{0}],使用 {0} 替代原来的列名。
  • FieldHelper 改为判断当前jdk版本是否为6和7,其他情况按jdk8处理,因此支持jdk9+
  • 新增 selectOneByExample 方法,必须保证返回值最多 1 个,否则抛出异常。
  • 增加新的 tk.mybatis.mapper.additional.insert.InsertListMapper,这个批量插入方法不支持主键策略,不会返回自动生成的主键

使用 @Version 注解的效果如下:

DEBUG [main] - ==>  Preparing: UPDATE country 
SET countryname = ?,countrycode = ?,version = 2 
WHERE id = ? AND version = ? 

DEBUG [main] - ==> Parameters: 美国2(String), US(String), 174(Integer), 1(Integer)

自动处理关键字代码:

//自动处理关键字
if (StringUtil.isNotEmpty(wrapKeyword) 
	&& SqlReservedWords.containsWord(columnName)) {
    columnName = MessageFormat.format(wrapKeyword, columnName);
}

通用 Mapper – Starter 更新日志

通用 Mapper 对应的 mapper-boot-starter 也进行了大量改动。

  • 通用 Mapper 3.5.0
  • 去掉 mybatis-spring-boot-starter 依赖,不在使用 mybatis 官方 starter,使用通用 Mapper 时不要再引入官方 starter
  • 参考 mybatis 官方 starter 重新实现,解决 mapper 初始化可能存在的问题 pr#5 by fengcbo
  • 如果需要使用 @MapperScan 请选择 tk 开头的 tk.mybatis.spring.annotation.MapperScan

使用 Maven

3;font-family:”font-size:16px;background-color:#FFFFFF;”>

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

如果你使用 Spring Boot 可以直接引入:

<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>1.2.0</version>
</dependency>

转自 https://www.oschina.net/news/92274/mapper-3-5-0-released