备注:2019年10月,MyBatis当前最新版介绍,请移步: mybatis最新版本 ,此栏目的内容会实时同步MyBatis Git官网的最新版本。

喜讯:MyBatis 3.5.0 正式发布

众位兄弟们,你们都还好吗?告诉大家一个好消息,以稍稍宽慰一下在IT寒冬中大家都绷紧的心。MyBatis 3.5.0 发布啦,发布时间是2019年1月20日。下载地址为:https://github.com/mybatis/mybatis-3/releases

2019年,一个特殊的年份,一个不拼命就意味着卷铺盖走人的年份。在近日,出行巨头滴滴官宣了:裁员15%。可怜的人啊,不是你的问题,而是时代抛弃了你。但是请记住:行业寒冬,江湖有变,擦干眼泪,明天会更好!

抬头看时代,低头看技术,已然不能满足时代的要求。不要以为拥有技术就拥有一切,眼下的技术如同烈火烹油般的爆发,越烧越旺,而我们却是朝如青丝暮成雪,电脑面前悲白发。

MyBatis 3.5.0 新特征

闲言少叙,言归正传,说一下MyBatis 3.5.0的新特征,首先要明确一点:MyBatis 3.5.0 需要运行在Java 8或者以上版本。

(1)Added Automatic-Module-Name : org.mybatis。用于当 mybatis jar 在 Java 9 中被用作自动模块时,确保名称是 org.mybatis

(2)Support java.util.Optional as return type of mapper method。新版本mybatis可以这么定义方法:

public interface UserMapper {

  @Select("select * from users where id = #{id}")
  Optional<User> findOne(Integer id);

}

(3)<set /> tag now trims the leading comma。trim就是修剪之意,<set />标签可以自动修剪多余的前缀逗号,例如下面这种写法:

UPDATE user
<set>
    <if test="name != null">
        name=#{name}
    </if>
    <if test="desc != null">
        ,desc=#{desc}
    </if>
</set>

在之前,我们一般这么写:

UPDATE user
<set>
    <if test="name != null">
        name=#{name},
    </if>
    <if test="desc != null">
        desc=#{desc}
    </if>
</set>

说实话,我倒是更喜欢后一种写法。总之,新的特性还有很多,后面再详细介绍吧。

MyBatis 3.5.0 与 3.4.6 版本不兼容

最后要说明一点:要注意新版本与3.4.6版本不兼容的地方,详见:https://github.com/mybatis/mybatis-3/releases

标签: none

[2024年]-[红黑树技术联盟介绍]-[成员故事]


[2024年]-[JavaOffer]-[训练营]


已有 3 条评论

  1. 11 11

    有点好奇,hibernate有级联删除和修改的设置,mybatis为什么不提供这样的操作?

    1. 这叫差异化生存,如果mybatis处处追随hibernate,那还会有人用它吗?

  2. 舒

    mybatis3.5.1 Ognl.java 放在default package提示 java.lang.ClassNotFoundException: Cannot find class: java.lang.Ognl ,mybatis3.4.6就Ok,

添加新评论