什么是sqlEngine?

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

sqlEngine的执行流程?

SQLines在线 sql engine_数据


  • 由上图可知,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_SORTHETARARULES_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写不对了