您现在的位置是:首页 > 文章详情

GoooQo v0.2.2 已经发布,OQM 技术的 Golang 实现

日期:2024-10-14点击:158

GoooQo v0.2.2 已经发布,OQM 技术的 Golang 实现

此版本更新内容包括:

版本

  • core/v0.2.2
  • rdb/v0.2.2
  • web/v0.2.2

特性

rdb

  • 支持字段映射实体关系查询: many-to-many/one-to-many/many-to-one/one-to-one
  • 对于LIKE条件忽略空字符串
  • 对于后缀In/NotIn忽略空数组
  • 移除后缀Not

ER 查询示例

t_menu有一个列parent_id,它将id列本身引用为外键。parent_id列用于定义菜单项之间的层次父子关系。菜单通过通用RBAC模型作为系统资源分配给用户。那么菜单到用户的实体路径即为:menu,perm,role,user,用于生成嵌套查询语句。

 import . "github.com/doytowin/goooqo/core" type MenuEntity struct { IntId ParentId *int `json:"parentId,omitempty"` Name *string `json:"name,omitempty"` } type MenuQuery struct { PageQuery Id *int // many-to-one: // 查询特定父菜单的子菜单: // parent_id IN (SELECT id FROM t_menu WHERE [conditions]) Parent *MenuQuery `entitypath:"menu" localField:"ParentId"` // one-to-many: // 查询特定子菜单的父菜单: // id IN (SELECT parent_id FROM t_menu WHERE [conditions]) Children *MenuQuery `entitypath:"menu" foreignField:"ParentId"` /** many-to-many: 查询特定用户可以访问的菜单: id IN ( SELECT menu_id FROM a_perm_and_menu WHERE perm_id IN ( SELECT perm_id FROM a_role_and_perm WHERE role_id IN ( SELECT role_id FROM a_user_and_role WHERE user_id IN ( SELECT id FROM t_user WHERE [conditions] ) ) ) )*/ User *UserQuery `entitypath:"menu,perm,role,user"` } 
 

更多用法请查看文档:https://goooqo.docs.doyto.win/zh/query-mapping/query-object/er-query-field

详情查看:https://gitee.com/doyto/goooqo/releases/v0.2.2

原文链接:https://www.oschina.net/news/316093/goooqo-0-2-2-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章