持久层框架 Mybatis-Link V1.0.0 正式版发布

栏目: 软件资讯 · 发布时间: 3年前

内容简介:欢迎使用 Mybatis-Link V1.0.0 持久层框架 Mybatis Link是一个Mybatis Plus的增强工具,在Mybatis Plus的基础上进行了增强,主要解决一对一、一对多等多表联查,以及允许分布式应用远程调用和优化问题,从而达到敏...

欢迎使用 Mybatis-Link V1.0.0 持久层框架

Mybatis Link是一个Mybatis Plus的增强工具,在Mybatis Plus的基础上进行了增强,主要解决一对一、一对多等多表联查,以及允许分布式应用远程调用和优化问题,从而达到敏捷开发的目的,实现零 SQL 编写。

关于1.0.0 版本更新内容

  • 新增】: 源码官网发布Mybatis-Link
  • 新增】: 全新的Mgr业务层和Dao支持层抽象类。
  • 新增】: 注解@Link类,作用在 Dao 方法上,可以实现一对一连表查询(包括左连接、右连接、内连接),一对多连表查询。
  • 新增】: 新增支持Wrapper在RPC中的调用,新建了FindWrapper查询类。
  • 新增】: 新增支持枚举类,以及枚举类翻译输出。
  • 新增】: 新增分页查询二级缓存返回列表和条数。
  • 新增】: 增加注解@VoDef类,对查询结果,可以直接返回实体类(Vo)。
  • 新增】: 增加动态表名,查询可以通过表名过滤。
  • 新增】: 增加数据库层面的批量新增。

零SQL:

采用注解的方式支持连表查询,满足大多数项目连表要求,可以实现零SQL编写。

连表查询示例:

更多连表示例:https://easy4use.cn/guide/link-search.html

/**
 * a 内连 c
 * a表的c_id字段,与c表中的id主键字段,进行连表查询。
 */
@Link(ones = { @OneToOne(leftColumn = "c_id", rightClass = TestCVo.class) })
List<TestADto> listTestAATestC(@Param(Constants.WRAPPER) Wrapper<TestAVo> wrapper);

/**
 * a 左连 b
 */
@Link( ones = { 
    @OneToOne(leftColumn = "b_id", rightClass = TestBVo.class, 
        joinType = JoinType.LEFT, onArgName = "abOn") })
List<TestADto> listTestALtTestB(@Param(Constants.WRAPPER) Wrapper<TestAVo> wrapper);

/**
 * a 一对多 b
 */
@Link( manys = { 
    @OneToMany(leftColumn = "b_id", rightClass = TestBVo.class, 
        ofTypeClass = TestBDto.class, property = "testBList") })
List<TestADto> listTestAWTestB(@Param(Constants.WRAPPER) Wrapper<TestAVo> wrapper);

配置:

mybatis-plus:
  typeAliasesPackage: yui.bss.*.vo
  mapperLocations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: ASSIGN_ID
      field-strategy: NOT_NULL
      column-underline: true
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
    banner: false
    sql-parser-cache: true
    super-mapper-class: yui.comn.mybatisx.core.mapper.BaseDao

最新Maven版本:

<dependency>
    <groupId>com.gitee.easy4use</groupId>
    <artifactId>mybatis-link-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

 

欢迎使用 Mybatis-Link 插件 Hub-Link V1.0.0 数据处理

Hub Link是数据加工中心,作为Mybatis Link的增强工具,可以就像咖啡伴侣一样,在使用Mybatis-Link的时候更加丝滑。作为数据加工中心,会对进出数据进行加工处理。

关于1.0.0 版本更新内容

  • 新增】: 支持阿里JSON序列化。
  • 新增】: 支持枚举类过滤输出
  • 新增】: 支持连表查询,数据输出。
  • 新增】: 增加处理机质,可以在数据输出前,对数据进行处理。
  • 新增】: 支持查询条件配置。
  • 新增】: 支持数据输出同时,增加字段翻译。
  • 新增】: 增加query.js前端查询封装。

特性

  • 无侵入: 采用插件的形式,对进出数据进行加功处理。
  • 插件: 可以作为Mybatis-Link的增强工具,两者可以一起使用。
  • 请求数据: 每个controller都会对应一个xml,通过xml配置对请求数据进行加功处理。
  • 返回数据: 每个controller都会对应一个xml,通过xml配置对返回数据进行加功处理。

查询示例:

更多查询示例:https://easy4use.cn/guide/query-start.html

查询接口

sys/user/list?this.$query.toQ(qry)

过滤条件

let qry = this.$query.new()
this.$query.toR(qry, 'username', 'test')

查询参数

{"w":[],"r":[{"n":"a1","t":"and","w":[{"k":"username","v":"test","m":"",
    "t":"and","s":0}]}],"o":[],"j":[],"p":{},"s":{}}

sql输出

SELECT t_sys_user.`id` t_sys_user__id, t_sys_user.`role_id` t_sys_user__role_id, t_sys_user.`username` t_sys_user__username, t_sys_user.`email` t_sys_user__email, t_sys_user.`rmks` t_sys_user__rmks, t_sys_user.`type` t_sys_user__type 
FROM t_sys_user 
WHERE ((t_sys_user.USERNAME LIKE ?))

返回结果

{
    "code": 0,
    "header": {
        "typeDsr": "类型(0:管理员,1:非管理员)描述",
        "id": "ID",
        "roleId": "角色ID",
        "username": "登录名",
        "email": "邮件",
        "rmks": "备注",
        "type": "类型(0:管理员,1:非管理员)"
    },
    "data": {
        "list": [
            {
                "id": 3,
                "roleId": 3,
                "username": "test",
                "email": "test@163.com",
                "rmks": "test",
                "type": 1,
                "typeDsr": "普通用户"
            }
        ]
    }
}

出参示例:

更多查询示例:https://easy4use.cn/guide/data-out.html

XML配置

<grid name="USER_ROLE">
    <col type="yui.bss.demo.vo.SysUserVo" />
    <col prefix="role" type="yui.bss.demo.vo.SysRoleVo" />
</grid>

返回结果

{
    "code": 0,
    "header": {
        "typeDsr": "类型(0:管理员,1:非管理员)描述",
        "id": "ID",
        "roleId": "ID",
        "username": "登录名",
        "email": "邮件",
        "rmks": "备注",
        "type": "类型(0:管理员,1:非管理员)",
        "roleCd": "编码",
        "roleNm": "名称",
        "roleRmks": "备注"
    },
    "data": {
        "list": [
            {
                "id": 1,
                "roleId": 1,
                "username": "admin",
                "email": "demo@163.com",
                "rmks": "admin",
                "type": 0,
                "roleCd": "ROLE_ADMIN",
                "roleNm": "管理员",
                "roleRmks": "管理员",
                "typeDsr": "管理员"
            }
        ]
    }
}

最新Maven版本:

<dependency>
    <groupId>com.gitee.easy4use</groupId>
    <artifactId>hub-link-annotation</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.gitee.easy4use</groupId>
    <artifactId>hub-link-core</artifactId>
    <version>1.0.0</version>
</dependency>

附:项目信息

项目官网:https://easy4use.cn/

Mybaits-Link项目源码:https://gitee.com/easy4use/mybatis-link

Hub-Link源码:https://gitee.com/easy4use/hub-link

项目示例:https://gitee.com/easy4use/mybatis-link-samples


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你的灯亮着吗?

你的灯亮着吗?

高斯 (Donald C. Gause)、温伯格 (Gerald M.Weinberg) / 俞月圆 / 人民邮电出版社 / 2014-1-1 / CNY 25.00

本书以别具一格的视角和幽默风趣的语言讨论了解决问题时有可能遇到的多种困难,并就如何训练思维能力指点迷津。本书分六个主题,每个主题都由若干生动有趣和发人深省的小故事组成,巧妙地引导读者先确认真正的问题,然后明确问题该由谁解决,再确定问题的根源,最后决定到底想不想解决这个问题。 本书适合所有业界人士以及想要探索问题解决之道的虚心读者细细品味。一起来看看 《你的灯亮着吗?》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具