如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
gejun123456
V2EX  ›  推广

最好的 Mybatis 代码提示, IDEA MybatisCodeHelperPro 插件送激活码

  •  5
     
  •   gejun123456 · Oct 13, 2020 · 22476 views
    This topic created in 2212 days ago, the information mentioned may be changed or developed.

    第一个完整解决 Mybatis 动态 sql 代码提示的插件。

    IDEA 高级版提供了 sql 自动补全 sql 语法检测,IDEA 高级版可以写出安全的 sql 如下图

    ideaInnerSupport

    对于使用 mybatis 会导致 sql 错误 可能以下几种原因

    1. sql 中使用了 mybatis 的动态标签 include trim set where foreach
    2. 使用了 if test choose when 条件判断
    3. if test when bind ${} foreach collection 中的判断语句错误
    4. #{} 中的语句错误

    插件可以识别 include trim set where foreach 标签,使用了标签的 sql 可以进行检测和自动补全

    比如对于 trim 标签 ![trim 标签正确性检测]( https://gejun123456.coding.net/p/MyBatisCodeHelper-Pro/d/MyBatisCodeHelper-Pro/git/raw/master/screenshots/trim 标签正确性检测.gif)

    set 标签 ![set 标签正确性]( https://gejun123456.coding.net/p/MyBatisCodeHelper-Pro/d/MyBatisCodeHelper-Pro/git/raw/master/screenshots/set 标签正确性.gif)

    当使用 if test 时 可能只有部分条件成立 choose when 则只有一个条件成立 插件引入了 @ignoreSql 注释,如果需要 if test 或 choose when 不成立可以使用该注释,检测 sql 是否正确和代码提示

    chooseWhenAutoComplete

    当我们写 if test when bind ${} foreach collection 中的语句也可能会出错,这块语法是使用的 ognl 语法,插件对这块进行了支持

    if test when test ![ifWhenTest 中 ognl 支持]( https://gejun123456.coding.net/p/MyBatisCodeHelper-Pro/d/MyBatisCodeHelper-Pro/git/raw/master/screenshots/ifWhenTest 中 ognl 支持.gif)

    bind 和 ${ ![bind 和${的 ognl 支持]( https://gejun123456.coding.net/p/MyBatisCodeHelper-Pro/d/MyBatisCodeHelper-Pro/git/raw/master/screenshots/bind 和${的 ognl 支持.gif)

    bind 进行绑定变量的类型推断支持

    ognl method call

    对于 ${ 由于里面的输入可以是任意字符,sql 会无法解析,插件引入了 $sql 注释,如上图,真正要被替换的语句写入$sql 注释中

    foreach collection ![collection 标签跳转检测正确]( https://gejun123456.coding.net/p/MyBatisCodeHelper-Pro/d/MyBatisCodeHelper-Pro/git/raw/master/screenshots/collection 标签跳转检测正确.gif)

    在 2.5 版本后 插件便可以对 #{}中的内容进行检测是否正确

    ![检测 param 是否正确]( https://gejun123456.coding.net/p/MyBatisCodeHelper-Pro/d/MyBatisCodeHelper-Pro/git/raw/master/screenshots/检测 param 是否正确.gif)

    另外在 sql 标签中的 sql 由于不是完整的 sql,无法进行检测和代码补全,插件引入了 @sql 注释,在注释中把 sql 的前缀和后缀填写进去,可保证 sql 标签中的 sql 无误

    sqlTagNoError

    另外还有一系列其他代码提示,方法名生成 sql,表生成 crud,生成 testcase 等功能,大幅提升开发 Mybatis 的效率。可以参考文档: https://gejun123456.github.io/MyBatisCodeHelper-Pro/#/

    插件目前售价为 99 三年,购买链接: http://brucege.com ,欢迎试用。

    送激活码规则

    评论中每 10 个不同的用户 id 合起来 hash 取余送一个年费激活码,从激活的那天开始算起,已购买插件的用户也可以参与。 请勿刷评论,刷评论不送。

    Supplement 1  ·  Oct 13, 2020
    ## 上面部分图片挂了,可以看 http://118.24.53.162/#/typeSafe 这节
    448 replies  •  2020-11-04 17:36:11 +08:00
    1  2  3  4  5  
    ❮ ❯
    shylocks
    shylocks
    Oct 14, 2020
    401
    支持
    bbb001
    bbb001
    Oct 14, 2020
    402
    👍
    Seayon
    Seayon
    Oct 14, 2020 via iPhone❤️1
    403
    已成功安利同事
    geekboy
    geekboy
    Oct 14, 2020 via Android
    404
    支持一下
    silence5555
    silence5555
    Oct 14, 2020❤️1
    405
    支持一下 很棒的插件
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    406
    @JssDream #308 第 28 组用户名连接串为:EricFutureromisanicdoudou1523102buslnJssDreamBluesChangleonmezypy333zhou00didala
    ,中奖用户为: @JssDream,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    407
    @freedom61 #318 第 29 组用户名连接串为:shwintanfreedom61RedKingguanhui07hanhuoerMikeCordenCrysewillxianghuyuankunlzy250
    ,中奖用户为: @freedom61,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    408
    @zirconium #336 第 30 组用户名连接串为:yaming116kakeiricyleexoneisall8955woscaiziJason0803itsmileliqiuzirconiumsudar233
    ,中奖用户为: @zirconium,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    409
    @j6l #347 第 31 组用户名连接串为:tubimaskynosayyinusxxxxwwwaaadddsx258admin7785vate32deepmindlabxfabsj6l
    ,中奖用户为: @j6l,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    410
    @JunoNin #355 第 32 组用户名连接串为:scofulcwr31lingthcAprilNovemberTangkimari967182JunoNinsetnxlovemaoyun
    ,中奖用户为: @JunoNin,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    411
    @zzlhr #367 第 33 组用户名连接串为:liutianfengyutian2211ZeroKillWEARE9201wunaidouziacrisliuzuijiu94lijianivy123Bellyzzlhr
    ,中奖用户为: @zzlhr,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    412
    @uestc #368 第 34 组用户名连接串为:uestcduhongleNibborQbillwanghoobieTateLiaoadrianXuldw4033LkaiyDetectiveBoy
    ,中奖用户为: @uestc,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    413
    @glaucus #382 第 35 组用户名连接串为:EdwardXiaPendragonzcmxw1glaucusCyronzhoufan5817leebsqfphoenixtsukiikekaoruArthurKing
    ,中奖用户为: @glaucus,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    414
    @wanniwa #398 第 36 组用户名连接串为:Blulotusyxssfxwzyshell314artifactzhang5388137Joenglsorrowboyxy120jiomwanniwa
    ,中奖用户为: @wanniwa,请添加微信 gejun12311 联系我,会发激活码给您
    accppd
    accppd
    Oct 14, 2020 via Android
    415
    占位支持一下
    fulinlin9527
    fulinlin9527
    Oct 14, 2020 via Android❤️1
    416
    支持 一直在用
    KevinBlandy
    KevinBlandy
    Oct 14, 2020
    417
    挺好,支持一下。
    some3284
    some3284
    Oct 14, 2020
    418
    支持
    HashubYC
    HashubYC
    Oct 14, 2020 via Android
    419
    试试
    senup
    senup
    Oct 14, 2020 via Android
    420
    来了
    Fereke
    Fereke
    Oct 14, 2020 via Android
    421
    支持一下
    qnyh
    qnyh
    Oct 14, 2020
    422
    支持
    SuperXRay
    SuperXRay
    Oct 14, 2020
    423
    确实好用
    javen73
    javen73
    Oct 14, 2020
    424
    支持一下
    watermelon11
    watermelon11
    Oct 14, 2020
    425
    支持~
    night98
    night98
    Oct 14, 2020
    426
    支持一下
    russ44
    russ44
    Oct 14, 2020
    427
    free 版用户
    remember5
    remember5
    Oct 14, 2020
    428
    支持一下
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    429
    @lxfcool #399 第 37 组用户名连接串为:lxfcoolben0629shylocksbbb001Seayongeekboysilence5555accppdfulinlin9527KevinBlandy
    ,中奖用户为: @lxfcool,请添加微信 gejun12311 联系我,会发激活码给您
    gejun123456
    gejun123456
    OP
    Oct 14, 2020
    430
    @senup #420 第 38 组用户名连接串为:some3284HashubYCsenupFerekeqnyhSuperXRayjaven73watermelon11night98russ44
    ,中奖用户为: @senup,请添加微信 gejun12311 联系我,会发激活码给您
    maysixteenth
    maysixteenth
    Oct 14, 2020
    431
    加油
    ylsf
    ylsf
    Oct 14, 2020
    432
    加油!
    liuqitoday
    liuqitoday
    Oct 14, 2020 via iPhone
    433
    支持
    ize
    ize
    Oct 14, 2020
    434
    支持一下
    gejun123456
    gejun123456
    OP
    Oct 15, 2020
    435
    @Tang #352 大部分功能所有数据库都支持,少部分如表生成 crud 常用的都支持的 mysql oracle postgresql sqlserver
    ingdawn
    ingdawn
    Oct 16, 2020
    436
    还有分子嘛
    gejun123456
    gejun123456
    OP
    Oct 16, 2020
    437
    @ingdawn #436 满 10 个就行
    devswork
    devswork
    Oct 16, 2020
    438
    还有位置吗~~~~
    sss007
    sss007
    Oct 16, 2020
    439
    在 v 站第一次中奖哈哈哈
    Rush9999
    Rush9999
    Oct 16, 2020
    440
    分母
    hengo
    hengo
    Oct 16, 2020
    441
    分子
    XDJI
    XDJI
    Oct 16, 2020
    442
    分数线
    Gav1n1995
    Gav1n1995
    Oct 16, 2020
    443
    确实好用
    gejun123456
    gejun123456
    OP
    Oct 16, 2020
    444
    @liuqitoday #433 第 39 组用户名连接串为:remember5maysixteenthylsfliuqitodayizeingdawndevsworkRush9999hengoXDJI
    ,中奖用户为: @liuqitoday,请添加微信 gejun12311 联系我,会发激活码给您
    h503mc
    h503mc
    Oct 16, 2020 via Android
    445
    分子
    Kinnice
    Kinnice
    Oct 16, 2020 via Android
    446
    支持一下
    fireSoil
    fireSoil
    Nov 3, 2020
    447
    支持一下
    x940727
    x940727
    Nov 4, 2020
    448
    支持一下
    1  2  3  4  5  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1535 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 23:23 · PVG 07:23 · LAX 15:23 · JFK 18:23
    ♥ Do have faith in what you're doing.