• atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性


    atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性

     

     

    1. 新特性如下

    支持生成sql在无数据库连接的情况下

     

     

    2. Orm设计

    主要的俩个以来service如下

    @Inject

    Dsl2sqlService dsl2sqlSvr;

    @Inject

    DBX dbSvr;

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

     

    3. code

     

    /atiPlatf_bet/src/com/attilax/store/OrmStoreService.java

     

     

     

    package com.attilax.store;

     

    import java.util.List;

    import java.util.Map;

     

    import com.attilax.db.DBX;

    import com.attilax.io.filex;

    import com.attilax.ioc.IocXq214;

    import com.attilax.json.AtiJson;

    import com.attilax.lang.MapX;

    import com.attilax.orm.AOrm;

    import com.attilax.orm.Aorm4view;

    import com.attilax.orm.View;

    import com.attilax.sql.Dsl2sqlService;

    import com.google.common.collect.Lists;

    import com.google.common.collect.Maps;

    import com.google.inject.Inject;

     

    public class OrmStoreService extends StoreService {

     

    public static void main(String[] args) {

    System.setProperty("apptype", "bet");

    OrmStoreService ormSvr = IocXq214.getBean(OrmStoreService.class);

    Map m = Maps.newLinkedHashMap();

    m.put("$table", "orderView");

    m.put("$tabletype", "view");

    m.put("$view_store_path","com/attilax/order");

    m.put("$op", "insert");

    m.put("good_id","2005");

    m.put("order_id",filex.getUUidName());

    List<String> insertSql = ormSvr.insertSql(m);

    System.out.println( AtiJson.toJson( insertSql));

    System.out.println("--f1");

    }

     

    @Inject

    Dsl2sqlService dsl2sqlSvr;

    @Inject

    DBX dbSvr;

     

    public List<String> insertSql(Map m) {

    List<String> li = Lists.newArrayList();

    if (m.get("$tabletype") != null && m.get("$tabletype").equals("view")) {

    String[] tabs = new View(m.get("$table"), m.get("$view_store_path"))

    .getTables();

    for (String tab : tabs) {

    Map m2 = MapX.clone(m);

    m2.put("$table", tab);

    String s = get_insert_singleTable_sql(m2);

    li.add(s);

    }

     

    return li;

    }

    return li;

    }

     

    public void insert(Map m) {

     

    List<String> li = insertSql(m);

    for (String sql : li) {

    dbSvr.execSql(sql);

    }

     

    }

     

    public String get_insert_singleTable_sql(Map m) {

     

    String sql = dsl2sqlSvr.dsl2sql(m);

    return sql;

     

    }

     

    }

     

  • 相关阅读:
    设计模式学习心得5
    HTTP协议 (六) 状态码详解
    HTTP协议 (五) 代理
    HTTP协议 (四) 缓存
    HTTP协议 (三) 压缩
    HTTP协议 (二) 基本认证
    HTTP协议 (一) HTTP协议详解
    java中abstract和interface的區別(轉)
    基于TCP的字符串传输程序
    文件比较
  • 原文地址:https://www.cnblogs.com/attilax/p/15198696.html
Copyright © 2020-2023  润新知