GoMybatis:Golang 的高性能 SQL Mapper ORM 框架

GoMybatis:Golang 的高性能 SQL Mapper ORM 框架

GoMybatisGo ORM Library.Have Powerful Features like transaction nesting, Optimistic Lock,Logical deletion and more. like mybatis for go golang项目地址:https://gitcode.com/gh_mirrors/go/GoMybatis

项目介绍

GoMybatis 是一个专为 Golang 设计的高性能 SQL Mapper ORM 框架。它借鉴了 Java 中的 Mybatis 和 Mybatis Plus 的设计理念,旨在为 Golang 开发者提供一个强大且易用的数据库操作工具。GoMybatis 不仅支持传统的 SQL 操作,还提供了丰富的动态 SQL 功能,使得开发者能够轻松处理复杂的查询和更新操作。

项目技术分析

高性能

GoMybatis 在性能方面表现出色,能够达到每秒 751,020 次查询(Qps/s),总耗时仅为 0.14 秒(测试环境为模拟 SQL 数据,并发 1000,总计 100,000 次查询,6 核 16GB 的 win10 系统)。

无缝迁移

GoMybatis 兼容大部分 Java 的 Mybatis3 和 Mybatis Plus 功能,开发者可以轻松将 Java Spring Mybatis 的 XML SQL 文件迁移到 Go 语言中,只需修改 resultMap 中的 javaType 为指定的 Go 语言类型即可。

事务管理

框架支持声明式事务和 AOP 事务,只需一行标签即可定义 AOP 事务和事务传播行为。

动态 SQL

GoMybatis 提供了 15 种动态 SQL 标签,包括 <select><update><insert><delete><trim><if><set><where><foreach><resultMap><bind><choose><when><otherwise><sql><include> 等,满足各种复杂的 SQL 需求。

智能表达式

框架支持智能表达式处理动态判断和计算任务,例如 #{foo.Bar}#{arg+1}#{arg*1}#{arg/1}#{arg-1},甚至可以编写模糊查询 select * from table where phone like #{phone+'%'}

动态数据源

GoMybatis 支持自定义多个数据源,并能够动态切换多个数据库实例,适用于多租户或多数据库环境的应用。

模板标签

框架提供了模板标签,只需一行代码即可实现增删改查逻辑、乐观锁等功能,同时保留了完美的扩展性。

乐观锁与逻辑删除

GoMybatis 支持乐观锁和逻辑删除,防止并发竞争修改记录,同时避免意外删除数据,数据恢复简单。

RPC/MVC 组件支持

框架支持 RPC 和 MVC 组件,使得服务完美适配 RPC(减少参数限制),动态代理,事务订阅,易于集成和扩展微服务。

项目及技术应用场景

GoMybatis 适用于各种需要高性能、复杂 SQL 操作的场景,特别是以下几种情况:

  1. 企业级应用:需要处理大量数据和高并发请求的企业级应用。
  2. 微服务架构:在微服务架构中,需要与多个数据库交互,GoMybatis 的动态数据源和事务管理功能能够很好地满足需求。
  3. 数据库迁移:从 Java 迁移到 Golang 的项目,GoMybatis 提供了无缝迁移的解决方案。
  4. 复杂查询:需要处理复杂查询和动态 SQL 的应用,GoMybatis 提供了丰富的动态 SQL 标签和智能表达式支持。

项目特点

  1. 高性能:GoMybatis 在性能上表现优异,能够处理高并发请求。
  2. 无缝迁移:兼容 Java Mybatis,轻松迁移 XML SQL 文件。
  3. 丰富的动态 SQL:支持 15 种动态 SQL 标签,满足各种复杂查询需求。
  4. 智能表达式:支持动态判断和计算任务,简化复杂查询的编写。
  5. 动态数据源:支持自定义多个数据源,动态切换数据库实例。
  6. 模板标签:简化增删改查逻辑,支持乐观锁和逻辑删除。
  7. RPC/MVC 支持:完美适配 RPC 和 MVC 组件,易于集成和扩展微服务。

GoMybatis 是一个功能强大且易用的 Golang ORM 框架,无论你是从 Java 迁移到 Golang,还是需要在 Golang 中处理复杂的数据库操作,GoMybatis 都能为你提供强大的支持。快来尝试吧!

GoMybatisGo ORM Library.Have Powerful Features like transaction nesting, Optimistic Lock,Logical deletion and more. like mybatis for go golang项目地址:https://gitcode.com/gh_mirrors/go/GoMybatis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华湘连Royce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值