JtSqlEngine.java 文件源码

java
阅读 19 收藏 0 点赞 0 评论 0

项目:JtSQL 作者:
public JtSqlEngine(){
    ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
    jsEngine = scriptEngineManager.getEngineByName("nashorn");

    jtapi = new JTAPI();

    jsEngine.put("JTAPI",jtapi);

    try {
        jsEngine.eval("var jtapi_global={};");
        jsEngine.eval("function require(url){var lib=md5(url);if(!jtapi_global[lib]){var code=http({url:url});jtapi_global[lib]=eval(code)};return jtapi_global[lib]};");

        jsEngine.eval("function guid(){return JTAPI.guid()};");
        jsEngine.eval("function md5(txt){return JTAPI.md5(txt)};");
        jsEngine.eval("function sha1(txt){return JTAPI.sha1(txt)};");

        jsEngine.eval("function set(key,obj){JTAPI.set(key,JSON.stringify(obj))};");
        jsEngine.eval("function get(key){var txt=JTAPI.get(key);if(txt){return JSON.parse(txt)}else{return null}};");

        jsEngine.eval("function log(txt){JTAPI.log(txt)};");
        jsEngine.eval("function http(obj){return JTAPI.http(JSON.stringify(obj))};"); //obj:{url:'xxx', form:{}, header:{}}
        jsEngine.eval("function sql(txt){var _d=JTAPI.sql(txt);if(_d&&typeof(_d)=='object'&&_d.getRow){var item=_d.getRow(0);var keys=item.keys();if(_d.getRowCount()==1){var obj={};for(var i in keys){var k1=keys.get(i);obj[k1]=item.get(k1)};return obj}else{var ary=[];if(item.count()==1){var list=_d.toArray(0);for(var i in list){ary.push(list[i])}}else{var rows=_d.getRows();for(var j in rows){var m1=rows.get(j);var obj={};for(var i in keys){var k1=keys.get(i);obj[k1]=m1.get(k1)};ary.push(obj)}};return ary}}else{return _d}};");
    }catch (Exception ex){
        ex.printStackTrace();
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号