zoukankan      html  css  js  c++  java
  • atitit.orm的缺点与orm框架市场占有率,选型attilax总结

    atitit.orm的缺点与orm框架市场占有率,选型attilax总结

    1. attilaxorm框架要求 1

    2. orm框架市场占有率 2

    3. spring jdbc templt 3

    4. eclipselink /toplink  不好用 4

    5. jooq 的总结 4

    6. attilax的选择 atiorm 4

    7. 参考 4

    1. attilaxorm框架要求

    1.无需配置文件或注解。。直接从mapjson生成sql

    2.直接获取sql。。无需连接数据库。。方便调试。或这sql传输。

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

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

    2. orm框架市场占有率

    orm frameworks in use

    hb 67

    jdbc  22

    spring jdbc template 20

    eclipselink 13

    mybatis 7

    jooq 2

    datasource:::REBELLABS (  WEBSITE RESEARCH 

    结论如图。
    但无论如何,仅仅就使用ORM框架而言,楼主大可放心去学习,不用担心时间成本的问题,不会占太多时间的

    3. spring jdbc templt

    2、使用NamedParameterJdbcTemplate类,实现JDBC,参数是用Map集合传递的

    ·    @Override  

    ·      public void insert(User entity) {  

    ·          // TODO Auto-generated method stub  

    ·          String sql="insert into user(name,age,sex) values(:name,:age,:sex)";  

    ·          Map<String,Object> map=new HashMap<String,Object>();  

    ·          map.put("name", entity.getName());  

    ·          map.put("age", entity.getAge());  

    ·          map.put("sex", entity.getSex());  

    ·          int temp=npjt.update(sql, map);  

    ·          if(temp>0){  

    ·              System.out.println("插入成功!");  

    ·          }else{  

    ·              System.out.println("插入失败!");  

    ·          }  

    ·      }  

    ·    @Override  

    ·      public void update(User entity) {  

    ·          // TODO Auto-generated method stub  

    ·          String sql="update user set name=:name,age=:age,sex=:sex where id=:id";  

    ·          Map<String,Object> map=new HashMap<String,Object>();  

    ·          map.put("name", entity.getName());  

    ·          map.put("age", entity.getAge());  

    ·          map.put("sex", entity.getSex());  

    ·          map.put("id", entity.getId());  

    ·          int temp=npjt.update(sql, map);  

    ·          if(temp>0){  

    ·              System.out.println("更新成功!");  

    ·          }else{  

    ·              System.out.println("更新失败!");  

    ·          }  

    ·      }  

    4. eclipselink /toplink  不好用

    5. jooq 的总结

    1. create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())  

    2.       .from(T_AUTHOR)  

    3.       .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))  

    4.       .where(T_BOOK.LANGUAGE.equal("DE"))  

    5.       .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))  

    6.       .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)  

    7.       .having(count().greaterThan(5))  

    8.       .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())  

    9.       .limit(1, 2)  

    10.       .forUpdate();  

    jooq使用ide会方便。。但是不能自动map json to ,所以,还是麻烦。

    6. attilax的选择 atiorm

    看起来spring temple最好使用...使用累挂三,好香要事务才能使用了...transac,走不能保存...

    子好嘎自orm..

    7. orm的优点在接口使用中

    直接提供的走十json的接口,,直接转换成个orm走十好用啊..

    8. 参考

    Spring中使用JDBC做的增删改查 - - ITeye技术网站.htm

  • 相关阅读:
    Constants and Variables
    随想
    C#基础篇之语言和框架介绍
    Python基础19 实例方法 类方法 静态方法 私有变量 私有方法 属性
    Python基础18 实例变量 类变量 构造方法
    Python基础17 嵌套函数 函数类型和Lambda表达式 三大基础函数 filter() map() reduce()
    Python基础16 函数返回值 作用区域 生成器
    Python基础11 List插入,删除,替换和其他常用方法 insert() remove() pop() reverse() copy() clear() index() count()
    Python基础15 函数的定义 使用关键字参数调用 参数默认值 可变参数
    Python基础14 字典的创建修改访问和遍历 popitem() keys() values() items()
  • 原文地址:https://www.cnblogs.com/attilax/p/5963747.html
Copyright © 2011-2022 走看看