SmartSql 介绍

介绍

SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics ......

她是如何工作的?

SmartSql 借鉴了MyBatis的思想,使用XML来管理SQL,并且提供了若干个筛选器标签来消除代码层面的各种if/else的判断分支。

SmartSql将管理你的SQL,并且通过筛选标签来维护本来你在代码层面的各种条件判断,使你的代码更加优美。

同时SmartSql还提供了以下各种特性(包括但不限于):

  • 动态代理仓储
  • 分布式缓存
  • 类型处理器
  • 自动生成 CUD 代码
  • Id生成器
  • 性能诊断
  • AOP 级别的事物
  • 缓存(内存,分布式缓存)
  • 读写分离
  • 代码生成器(https://github.com/dotnetcore/SmartCode)
  • 高性能的批量插入

为什么选择SmartSql?

DotNet 体系下大都是Linq系的ORM,Linq很好,消除了开发人员对SQL的依赖。但却忽视了一点,SQL本身并不复杂,而且在复杂查询场景当中开发人员很难通过编写Linq来生成良好性能的SQL,相信使用过EF的同学一定有这样的体验:“我想好了Sql怎么写,然后再来写Linq,完了可能还要再查看一下Linq输出的Sql是什么样的“。这是非常糟糕的体验。要想对Sql做绝对的优化,那么开发者必须对Sql有绝对的控制权。另外Sql本身很简单,为何要增加一层翻译器呢?

那么为什么不是Dapper,或者DbHelper?

Dapper 确实很好,并且又很好的性能,但是会让给你的代码里边充斥着SQL和各种判断分支,这些将会使代码维护难以阅读和维护。另外 Dapper 只提供了DataReader到Entity的反序列化功能。而SmartSql提供了大量的特性来提升开发者的效率。

Nuget Packages

PackageNuGet StableDownloads
SmartSqlSmartSqlSmartSql
SmartSql.SchemaSmartSql.SchemaSmartSql.Schema
SmartSql.TypeHandlerSmartSql.TypeHandlerSmartSql.TypeHandler
SmartSql.DyRepositorySmartSql.DyRepositorySmartSql.DyRepository
SmartSql.DIExtensionSmartSql.DIExtensionSmartSql.DIExtension
SmartSql.Cache.RedisSmartSql.Cache.RedisSmartSql.Cache.Redis
SmartSql.ScriptTagSmartSql.ScriptTagSmartSql.ScriptTag
SmartSql.AOPSmartSql.AOPSmartSql.AOP
SmartSql.OptionsSmartSql.OptionsSmartSql.Options
SmartSql.BulkSmartSql.BulkSmartSql.Bulk
SmartSql.Bulk.SqlServerSmartSql.Bulk.SqlServerSmartSql.Bulk.SqlServer
SmartSql.Bulk.PostgreSqlSmartSql.Bulk.PostgreSqlSmartSql.Bulk.PostgreSql
SmartSql.Bulk.MySqlSmartSql.Bulk.MySqlSmartSql.Bulk.MySql

转载于:https://www.cnblogs.com/Ahoo-Wang/p/SmartSql-intro.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值