码迷,mamicode.com
首页 > 其他好文 > 详细

eql框架。

时间:2019-09-04 21:38:42      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:分页   映射   img   for   dem   小白   封装   item   简单   

在刚进入公司的时候,在service层的框架用的是eql,是公司内的大佬封装的,作为一个小白,真的是折磨。公司内没有任何的文档,只能靠着自己一步一步的摸索。

后来用习惯了,发现这个框架确实有自己的独到之处。

首先在resource将先建一个文件eql-DEFAULT.properties ,并对数据库连接信息(如URL,密码和用户名)进行一些更改(mysql和oracle都可以使用eql)

driver=oracle.jdbc.driver.OracleDriver

url=jdbc:oracle:thin:@127.0.0.1:49161:xe

user=system

password=system

再创建一个.eql文件(com/test/EqlDemo.eql)

技术图片

创建一个类(com/test/EqlDemo.java)

技术图片

 

 

 运行结果如下:

技术图片

 

在java代码里的demo对应eql文件里的demo,从这一步做到了映射

 

 技术图片

 

 

以上就是最简单的一个示例, 在平时工作中操作sql语句的完整代码应该如下:

new Eql().useSqlFile(EQL_FILE).selectFirst("demo2").params().returnType().execute();
在returnType里不写入任何返回值时,selectFirst可以返回的类型有string,map,bean。且返回的是第一条记录。除了selectFirst外查询的代码还有一个select。如下:
new Eql().useSqlFile(EQL_FILE).select("demo2").params().returnType().execute();
该方法返回的类型是List , List<Map> ,List<Bean>等,总而言之,返回的是list类型

eql中映射方式(参数params) List<Map> applyDetail = new Eql(MonitorConst.DS_MALL.PROC_ORACLE).useSqlFile(EQL_FILE) .select("queryApplyNameDetail") .params(RMap.asMap("postCityNameAddShi", postCityNameAddShi)) .execute();
技术图片eql文件中参数写法如下:
AND C.CITY_NAME = #postCityNameAddShi#
或者
List<Map> applyDetail = new Eql(MonitorConst.DS_MALL.PROC_ORACLE).useSqlFile(EQL_FILE)   
        .select("queryApplyNameDetail")
        .params(postCityNameAddShi)
        .execute();
eql文件中参数写法如下:
AND C.CITY_NAME = #1#

for循环 --isNotEmpty productInfos AND T.PRODUCT_ID IN --for item=item index=index collection=productInfos open=( separator=, close=) #item# --end --end 其中productInfos是前段传过来的一个数组,item代表的是productInfos数组里的各个成员,就是一个别名,而index则是一个迭代的次数,简单的说就是找item找了几次

除了以上的例子,eql文件还提供了if,switch等动态传参,分页支持等等。



参考文档:https://github.com/bingoohuang/eql/blob/master/ChineseReadme.md




 

 

技术图片

 

eql框架。

标签:分页   映射   img   for   dem   小白   封装   item   简单   

原文地址:https://www.cnblogs.com/xdsuannai/p/11461317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!