java中sql语句换行_java中sql语句快速处理

在java开发中,有时候经常需要写很长的sql,需要用双引号括起来,然后换行啥的。虽然手动可以自己写,但经常浪费时间,而且容易写错。自己写了个小工具,自动处理。先看效果吧

比如这么一长串sql:

SELECT *, isnull(y.sl,0)-isnull(x.ycsl,0) maxsl from(selectc.cpcode_name,c.cpcode_ename,c.cpcode_kcode,c.cpcode_item01,c.cpcode_item02,c.cpcode_item03,c.cpcode_item04,

c.cpcode_item05,c.cpcode_item06,c.cpcode_item07,c.cpcode_item08 ,c.cpcode_sunit,c.custom_01,p.sc_gch,p.sc_code,

p.cus_str_define1,p.cus_str_define2,p.cus_str_define3,p.cus_str_define4,p.cus_str_define5,p.cus_str_define6 ,p.cus_str_define7,p.cus_str_define8,p.cus_str_define9,p.cus_str_define10

,p.xsdd_mo,p.zjpch,isnull((select sum(sc_sl) ycsl from SA_WL_SCGC where sc_gch like 'BZ%' ),0) ycslfrom SA_WL_SCGC p,BA_JS_CPCODE c where p.sc_code=c.cpcode_codeand p.sc_gch = 'HB1809200001') xleft JOIN(select a.rq,a.flag,a.note,a.cptype,a.cptype cptype1,a.customer,a.bz,a.shl,b.price,b.je,isnull(b.cus_num_define1,0)cus_num_define1,isnull(b.sl,0) sl,isnull(b.js,0) js,isnull(b.zl,0) zl,isnull(b.msl,0) msl,b.hxflag,a.man,a.qrman,a.qrrq,b.hxman,b.hxrq ,b.code,b.jhrq,b.mo,a.corp_id,b.mxidfrom BA_XS_XSDD a,BA_XS_XSDDMX b where a.note=b.note and b.mo =(SELECT xsdd_mo from SA_WL_SCGC p where p.sc_gch = 'HB1809200001')) yon x.xsdd_mo=y.mo

看着都让人头疼,用小工具处理后的结果:

" SELECT *, isnull(y.sl,0)-isnull(x.ycsl,0) maxsl from "

+" (select "

+" c.cpcode_name,c.cpcode_ename,c.cpcode_kcode,c.cpcode_item01,c.cpcode_item02,c.cpcode_item03,c.cpcode_item04, "

+" c.cpcode_item05,c.cpcode_item06,c.cpcode_item07,c.cpcode_item08 ,c.cpcode_sunit,c.custom_01,p.sc_gch,p.sc_code, "

+" p.cus_str_define1,p.cus_str_define2,p.cus_str_define3,p.cus_str_define4,p.cus_str_define5,p.cus_str_define6 ,p.cus_str_define7,p.cus_str_define8,p.cus_str_define9,p.cus_str_define10 "

+" ,p.xsdd_mo,p.zjpch,isnull((select sum(sc_sl) ycsl from SA_WL_SCGC where sc_gch like 'BZ%' ),0) ycsl "

+" from SA_WL_SCGC p,BA_JS_CPCODE c where p.sc_code=c.cpcode_code "

+" and p.sc_gch = 'HB1809200001') x "

+" left JOIN "

+" (select a.rq,a.flag,a.note,a.cptype,a.cptype cptype1,a.customer,a.bz,a.shl,b.price,b.je,isnull(b.cus_num_define1,0)cus_num_define1,isnull(b.sl,0) sl,isnull(b.js,0) js,isnull(b.zl,0) zl, "

+" isnull(b.msl,0) msl,b.hxflag,a.man,a.qrman,a.qrrq,b.hxman,b.hxrq ,b.code,b.jhrq,b.mo,a.corp_id,b.mxid "

+" from BA_XS_XSDD a,BA_XS_XSDDMX b where a.note=b.note and b.mo = "

+" (SELECT xsdd_mo from SA_WL_SCGC p where p.sc_gch = 'HB1809200001' )) y "

+" on x.xsdd_mo=y.mo "

自动给加上双引号及换行加号,只需自己手动把相关的参数替换一下即可,是不是很方便啊。

下面是小工具的演示图:

b4562adfbeff837eeacef86dd9770ff0.png

原理很简单,用正则表达式进行处理。不仅可以将sql转为相应的java代码,还可以将相应的java代码转为sql代码(这个功能有时候不太好用,不过稍微手动调一下就可以了,相对手动已经方便很多了)。

功能很简单,我将它做成了html页面。下面是小工具的地址:

https://files.cnblogs.com/files/iceriver315/sqlconvert.zip

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值