【Spring A.S】核心组件:SqlEngine使用手册:概要

什么是sqlEngine?

  • sqlEngine是spring A.S中的底层核心组件之一
  • 根据业务需要,sqlEngine可以为您提供配置并生成指定的可执行SQL语句
  • 配置简单,优化操作,即便不懂SQL的萌新也可以无压力轻松使用

sqlEngine的执行流程?

  • 由上图可知,sqlEngine的在数据交互中起到了一个核心润滑剂的作用。
  • 而在schema业务逻辑层中,我们首先声明sqlEngine对象并对其进行动态配置,在配置的同时,sqlEngine会根据我们的配置情况而进行自定义二次封装,最后我们使用sqlEngine封装好的对象去请求Dao层数据源,从而获取我们想要的数据

简单示例

说了这么多,来人,把源码呈上来!

sqlEngine sel = new sqlEngine();
sel.getSelTable("HETARARULES")
     .getSelCols("","HETARARULES_SORT,HETARARULES_NAME#MYNAME")
     .getWhereAnd("HETARARULES_EID","EQ",sqlEngine.getBaseParam("EID"))
     .getSort("HETARARULES_SORT","0")
     .getPage(1,1);
List<BasePage> basePages = this.baseApi.selectPage("HETARARULES",sel);

聪明的小伙伴们看过源码后应该能读懂其中的含义了吧(啊,别吐槽我为什么用get而不用set,我只是单纯觉得get看着比较舒服而已,咳咳

为了新同学,我们还是一点点拆解一下这部分源码的意思吧~

  1. 首先,new一个新的sqlEngine对象就不再做任何解释了
  2. getSelTable呢,是我们需要查询的表名(支持多重连表的哦,后面会详细讲解~)
getSelTable最后生成效果:select * from HETARARULES 
  1. getSelCols呢,是我们查询的字段,呃,为什么需要两个参数?因为第一个参数是table,这里面需要传入表名,如果有值,则代表需要查询这张表内所有的字段!而第二个参数则是定向查询字段,比如示例中的HETARARULES_SORT,HETARARULES_NAME#MYNAME(#可以理解为sql中的AS)
 getSelCols最后生成效果:select HETARARULES_SORT,HETARARULES_NAME AS  MYNAME from HETARARULES 
  1. getWhereAnd顾名思义,就是where条件配置项啦。至于它的几个关键参数,我们后面会有讲解。
getWhereAnd最后生成效果:select HETARARULES_NAME AS  MYNAME from HETARARULES  WHERE 1=1 AND HETARARULES_EID = 1
  1. getSort呢,就是数据排序啦。详解在后面哦。
getSort最后生成效果:select HETARARULES_NAME AS  MYNAME from HETARARULES  WHERE 1=1 AND HETARARULES_EID = 1 ORDER BY HETARARULES_SORT DESC
  1. getPage就是我们的分页查询条件啦,第一个参数为当前查询页页码,第二个参数为每页多少条,示例意为查询符合条件的第一页第一条数据
getPage最后生成效果:select *from HETARARULES  WHERE 1=1 LIMIT 0,1

至于最后一句代码,自然就是通过API接口获取指定的数据啦~ 是不是很简单?有了sqlEngine,妈妈再也不用担心我写sql写不对了

SqlEngine使用手册:查询条件(一)

SqlEngine使用手册:查询条件(二)

转载于:https://my.oschina.net/u/3692675/blog/3032240

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值