atitit.orm的缺点与orm框架市场占有率,选型attilax总结
atitit.orm的缺点与orm框架市场占有率,选型attilax总结
1. attilax的orm框架要求
1.无需配置文件或注解。。直接从map、json生成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
atitit.orm的缺点与orm框架市场占有率,选型attilax总结的更多相关文章
- Atitit xml框架类库选型 attilax总结
Atitit xml框架类库选型 attilax总结 1. 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的1 2. Jdom 和dom4j1 2.1. 5.1. jdom1 ...
- atitit.loading的设计与实现控件选型attilax 总结
atitit.loading的设计与实现控件选型attilax 总结 1. Percentage Loader(推荐) 1 1.1. 起始百分比::调整 progress 1 2. CSS3 Loa ...
- atitit.新增编辑功能 跟orm的实现 attilax p31
atitit.新增编辑功能 跟orm的实现 attilax p31 1. 流程的实现 1 2. view的实现(dwr) 1 3. 获取表结构 1 4. grep filt req params 2 ...
- atitit。ocr框架类库大全 attilax总结
atitit.ocr框架类库大全 attilax总结 Tesseract Asprise JavaOCR 闲来无事,发现百度有一个OCR文字识别接口,感觉挺有意思的,拿来研究一下. 百度服务简介:文字 ...
- atitit.RESTful服务的概览and框架选型
atitit.RESTful服务的概览and框架选型 1. REST基础概念: 1 2. URL说明: 1 3. 1 4. RESTful框架选型 2 1. spring mvc( recomm) ...
- atitit.html编辑器的设计要点与框架选型 attilax总结
atitit.html编辑器的设计要点与框架选型 attilax总结 1. html编辑器的设计要求1 1.1. 障碍訪问 1 1.2. 强大Ajax上传 1 1.3. Word完美支持 2 1.4. ...
- Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27
Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27 1. 修改历史2 2. 适用语言::几乎所有编程语言.语言提升的三个渠道::语法,类库,框架,ide2 2.1. 单根继承 ...
- Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终端打印SQL语句,脚本调试)
Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终 ...
- SQLAlchemy01 /SQLAlchemy去连接数据库、ORM介绍、将ORM模型映射到数据库中
SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到数据库中 目录 SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到 ...
随机推荐
- FFMPEG类库打开流媒体的方法(传参数)
使用ffmpeg类库进行开发的时候,打开流媒体(或本地文件)的函数是avformat_open_input(). 其中打开网络流的话,前面要加上函数avformat_network_init(). 一 ...
- GPGPU OpenCL使用结构体数据
OpenCL编程中可以使用结构体,只需要在核函数kernel中提供同样的结构体申明就可以啦. 如果在主函数中定义了结构体: typedef struct studentNode{ int age; f ...
- go语言基础之复数类型
1.复数类型 示例1: package main //必须有一个main包 import "fmt" func main() { var t complex128 //声明 t = ...
- C# 利用反射动态创建对象[摘录]
摘自:http://hi.baidu.com/yangyuhang/blog/item/f12ea90e13f214e336d12250.html 在VS.Net中,有很多种方法动态调用对象的构造函数 ...
- 【转】6 Reasons Why JavaScript’s Async/Await Blows Promises Away (Tutorial)
原文:https://hackernoon.com/6-reasons-why-javascripts-async-await-blows-promises-away-tutorial-c7ec105 ...
- git config 的全局配置
使用git的全局配置 .gitconfig 一:修改 用户下的.gitconfig 修改如图信息,添加你的信息 二: 命令添加 $ git config --global user.name ...
- mysql表utf-8 字符串入库编码异常
分析:http://www.myexception.cn/mysql/639943.html 解决方法:http://blog.sina.com.cn/s/blog_3f78232201011o26. ...
- 使用 RDVTabBarController 制作底部凸起的 TabBar 笔记
欢迎訪问我的个人博客http://mmoaay.photo/ 本文主要针对底部凸起的 TabBar 这样的特殊需求,不感兴趣的能够直接绕过- 近期做的一个项目须要底部凸起的 TabBar,效果例如以下 ...
- android KK版本号收到短信后,点亮屏的操作
alps/packages/apps/mms/src/comandroid\mms\transation\MessagingNotification.java private static void ...
- Drawing points
A point is the most simple graphics object that can be drawn. It is a small spot on the window. #!/u ...