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

1. 新特性如下

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

2. Orm设计

主要的俩个以来service如下

@Inject

Dsl2sqlService dsl2sqlSvr;

@Inject

DBX dbSvr;

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

转载请注明来源: http://www.cnblogs.com/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;

}

}

atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性的更多相关文章

  1. atitit.  web组件化原理与设计

    atitit.  web组件化原理与设计 1. Web Components提供了一种组件化的推荐方式,具体来说,就是:1 2. 组件化的本质目的并不一定是要为了可复用,而是提升可维护性. 不具有复用 ...

  2. Atitit.ati dwr的原理and设计 attilax 总结 java php 版本

    Atitit.ati dwr的原理and设计 attilax 总结 java php 版本 1. dwr的优点相对于ajax来说..1 2. DWR工作原理1 3. Dwr的架构2 4. 自定义dwr ...

  3. Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明)

    Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明) v5  增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...

  4. Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

    Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 ...

  5. Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

    Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 ...

  6. JVM的运行原理以及JDK 7增加的新特性(二)

    JVM结构 Java编写的代码会按照下图的流程来执行 类装载器装载负责装载编译后的字节码,并加载到运行时数据区(Runtime Data Area),然后执行引擎执行会执行这些字节码. 类加载器(Cl ...

  7. Atitit.eclipse 4.3 4.4  4.5 4.6新特性

    Atitit intellij idea的使用总结attilax 1. ideaIC-2016.2.4.exe1 1.1. Ij vs eclipse市场份额1 1.2. Ij的优点(方便的支持gro ...

  8. JVM的运行原理以及JDK 7增加的新特性(一)

    虚拟机(Virtual Machine) JRE是由Java API和JVM组成的.JVM的主要作用是通过Class Loader来加载Java程序,并且按照Java API来执行加载的程序. 虚拟机 ...

  9. 类的加载、时机、反射、模板设计、jdk7/jdk8新特性(二十六)

    1.类的加载概述和加载时机 * A:类的加载概述 * 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. * 加载 * 就是指将class文 ...

随机推荐

  1. c++基础学习之函数与参数

    1.传值参数 //传值参数 int Abc(int a,int b,int c) { ; } a,b和c是函数Abc 的形式参数formal parameter,类型均为整型.如果在如下语句中调用函数 ...

  2. 【AC自动机】【矩阵乘法】【等比数列】hdu2243 考研路茫茫——单词情结

    题解:http://blog.csdn.net/xingyeyongheng/article/details/10005923 这里采用了二分法求等比数列前n项和. 等比数列前n项和也可以用矩乘快速幂 ...

  3. Java学习笔记(4)

    控制流程语句之---------switch选择判断语句 switch(你的选择) case 值1: 符合条件执行的语句: break: case 值2: 符合条件执行的语句: break: case ...

  4. Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核

    安装: sudo apt-add-repository main sudo apt-get update sudo apt-get install qemu-kvm qemu virt-manager ...

  5. WebForm页面使用Ajax

    AJAX:”Asynchronous JavaScript and XML” 中文意思:异步JavaScript和XML.指一种创建交互式网页应用的网页开发技术.AJAX并非缩写词,而是由Jesse ...

  6. Swift,循环及判断

    1.for循环(执行固定次数的操作) (1)基本数组循环 var a=[1,2,3] for value in a{ print(value) //1 2 3 } (2)自定义循环次数 for i i ...

  7. js数据加载完成的方法

    1.document.onreadystatechange(页面加载完成的方法)配合document.readyState(获取加载状态)使用 document.onreadystatechange= ...

  8. 关于 modelNameLike 查询无数据

    ---恢复内容开始--- 1.今天在测试的时候发现 model中的name不能模糊查询. ModelQuery modelQuery = repositoryService.createModelQu ...

  9. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  10. struts2设置文件上传大小

    利用struts2想要设置或者限制上传文件的大小,可以在struts.xml配置文件里面进行如下配置: <constant name="struts.multipart.maxSize ...