阅读更多

16顶
46踩

企业架构

原创新闻 SimpleJDBC 1.0发布

2011-03-09 09:36 by 见习记者 asklxf 评论(72) 有23726人浏览
DAO

SimpleJDBC是一个用于简化JDBC代码的简单框架,需Spring集成。SimpleJDBC让你用简单的SQL语句完成增删改查,同时支持强类型和Java泛型,仅需注入一个Db实例。例如:

 

 

// query:
List<User> users = db.query("select * from User");
User user = db.getById(User.class, 12345);
int count = db.queryForInt("select count(id) from User where age>?", 20);

// insert
User user = new User(12345, "Michael");
db.insert(user);

// update
user.setName("Bob");
user.setAge(29);
db.updateProperties(user, "name", "age");

// delete
User user = new User(12345);
db.delete(user);
 

 

 

设计思想

  1. 契约优于配置,表名和类名一致,字段名和属性名一致;
  2. 不需编写DAO,为一两行SQL编写一个DAO方法不值;
  3. 简单的SQL语句,而不是经过ORM改造的HQL;
  4. 没有Attach/Detach状态,均为原始Bean无CGLIB代理;
  5. 没有一级/二级Cache,Cache应当用memcached,用不上memcached则说明压力小到根本无需Cache;
  6. 外键也映射到简单字段,而非对象,不支持一对多或多对一的级联查询,永远不用担心查出额外对象;
  7. 泛型和强类型支持,有SQL语句,但无JDBC代码;
  8. 不支持join等复杂查询,必须增加表的冗余以便使用简单查询。

哪些项目无法使用SimpleJdbc

  1. 没有用MySQL做为数据库;
  2. 没有用Spring;
  3. 使用了EAR而不是WAR;
  4. 必须使用Join等复杂查询;
  5. 在遗留数据库上开发。

以上说明该项目不Simple,因此无法使用SimpleJdbc。

 

 

Maven用户可直接添加依赖:

 

<dependency>
    <groupId>org.expressme</groupId>
    <artifactId>SimpleJdbc</artifactId>
    <version>1.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>
 

其他用户可从http://code.google.com/p/simplejdbc/下载Jar及源码。

16
46
评论 共 72 条 请登录后发表评论
52 楼 maku 2011-03-10 10:57
引用

哪些项目无法使用SimpleJdbc
没有用MySQL做为数据库;
没有用Spring;
使用了EAR而不是WAR;
必须使用Join等复杂查询;
在遗留数据库上开发。
以上说明该项目不Simple,因此无法使用SimpleJdbc。


能够坚持做出来一个产品是值得赞许的,但是思路有点问题。比如说任何项目都存在从简单到复杂的风险,用了你的SimpleJdbc后,是否项目变更时我们再重新开发一套程序?
51 楼 houxinyou 2011-03-10 10:55
个人认为一个后台数据的框架,不要和前台有什么关系,一个数据库框架,把自己的本分做好就行,管是不是企业应用,管是不是WEB程序!
50 楼 luotianwen456123 2011-03-10 10:38
只是简单引用??
49 楼 Leon.Wood 2011-03-10 10:32
哪些项目无法使用SimpleJdbc
1.没有用MySQL做为数据库;
2.没有用Spring;
3.使用了EAR而不是WAR;
4.必须使用Join等复杂查询;
5.在遗留数据库上开发。


意思是 "学生专用"?
48 楼 willothe 2011-03-10 10:06
为什么上头条?
47 楼 asklxf 2011-03-10 10:02
key232323 写道
groovy的Sql

设计的不错,推荐


终于看到有童鞋看出设计的目标了!

再多说明一点:

SimpleJdbc是为Web应用设计,做企业应用的童鞋请飘过,这个项目仅适合Web,我对企业应用不感兴趣。

设计的好坏在于API是否简介,使用者是否能编写更少的代码

请看SimpleJdbc的API:

http://code.google.com/p/simplejdbc/wiki/DatabaseOperation?wl=zh-Hans

除了Entity Bean是你必须要写的(没办法,Java不是Python等动态语言)
和SQL语句,你不必编写:

为每个Bean写个DAO
为每个Bean写个RowMapper(使用JdbcTemplate的童鞋,也是为什么SimpleJdbc会在JdbcTemplate上封装)

如果Java支持动态类型,那连写Entity都免了

代码简洁比什么都重要,能在Controller里写完的为什么要搞Business层,DAO层???

真正的分层是:
看你能不能用简单服务器堆叠来应对压力增加(Scale out);
如何在前端通过memcached堆叠来增加缓存,不是偷懒配置一个Hibernate二级缓存然后就认为OK了

做web的童鞋知道,做企业应用的请再次飘过

为什么不支持join?(其实也支持,把判断Bean类型的正则改改就行)
性能和扩展(如果你想水平切库)
做web的童鞋知道,做企业应用的请再次飘过
46 楼 wq13480 2011-03-10 10:00
这有个鸟用,一堆不支持
45 楼 zhaocz_chenly 2011-03-10 09:52
勇气可嘉,还需要深入

同时也要找对方向,如果是做项目,做个应用就可以了
如果是做个框架,需要功底

原来我们公司也有人要这样做,我们是做应用的,就觉得是没事找事
44 楼 pingfan 2011-03-10 09:38
那么多限制,连join都那么麻烦..用不下
43 楼 liu2511981 2011-03-10 09:15
感谢楼主无私奉献。。。




拜谢。。。
42 楼 superobin 2011-03-10 08:14
果然够simple的。想法是好的,就是太simple了,稍微正常的项目就用不上,限制太多了。

引用

没有用MySQL做为数据库;
没有用Spring;
使用了EAR而不是WAR;
必须使用Join等复杂查询;
在遗留数据库上开发。
以上说明该项目不Simple,因此无法使用SimpleJdbc

另外谁说不用mysql就不够simple的。。。。。。。。。。。。【或许我们在用access呢】咔咔
41 楼 sky3380 2011-03-09 22:18
喜欢这种简洁的风格,不是每个项目都需要Hibernate那样大块头的框架。
40 楼 Irving_wei 2011-03-09 21:52
若以后会改善,不失为一个好东东
39 楼 aofeng 2011-03-09 20:39
Apache 有一个Commons DbUtils 的类库,可以直接用JDBC SQL查询并将结果集转换成POJO,建议去看看。
38 楼 xingqiliudehuanghun 2011-03-09 20:28
是一个很好的自娱自乐的Hellow world
37 楼 sslaowan 2011-03-09 20:17
这篇是为了娱乐的吗
36 楼 miaofch 2011-03-09 19:58
想找一个simple的应用,好像不是那么simple的事……不过做规模比较小的工程应该还是挺方便的,下jar包实验下~
35 楼 cremains 2011-03-09 19:01
没什么用处。一点也没有。
34 楼 aninfeel 2011-03-09 18:12
只有曾经sb过,将来才能不sb,哥也是这么过来的。
33 楼 key232323 2011-03-09 17:14
groovy的Sql

设计的不错,推荐

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Borland Together 用户指南

    Together是基于Eclipse的一款不可多得的开发工具

  • 《Borland Together特点与优势》

    Borland®1Borland® Together®技术特性与优势1)支持所有主要的UML™ 图形充分利用Unified Modeling Language™ (统一建模语言 —UML)搭建正确的架构,以便满足你的业务目标。每一个软件项目都需要一个蓝图,以保持整个小组向相同的方向前进并构建正确的软件。通过集成UML 能力的方式,Together 扩展了开发框架,简化了构建软件的复杂过程。Toge

  • 利用together学习《java与模式》

    together是模式中推荐使用的工具,通过网上搜索发现要使用还是能做到的。以下怎样安装为转载: Together for Eclipse2008学习-安装 博客分类: Java 这一段是从网上转载过来的,转载地址是http://www.knowsky.com/363032.html 我安装的时候,不是参考这份资料 但在搜索教程的时候,查到了这份资料,觉得不错 ...

  • 介绍Together

    介绍Together     最开始接触Together时,它是个能自动生成代码的建模工具。Borland公司收购Together之后,在建模方面增加了许多功能,同时增加了其它一些功能,如代码审计、度量等。OK,这么好的工具,我们就来了解一下吧。 一、功能特点    Together的功能大致有(摘自Together文档):    1、支持所有主要的UML图形    充分利用UML搭建正确的架构,

  • 学习使用Borland Together心得体会(一) (转)

    学习使用Borland Together心得体会(一) (转)[@more@]众所周知,大名鼎鼎的Borland公司最近收购了一家名为TogetherSoft的公司,之后Borland迅速的推出了名为Borland ALM So...

  • 学习使用Borland Together心得体会(二)

     一、使用Together绘制UML视图并产生代码框架!1、首先新建一个工程,如TEST.TPR2、每个工程都有一个default视图,可以使用鼠标右键单击default视图,如图所示:3、选择新建一个Package,这样在工程Explorer中你就会看见多了一个package视图。4、在新的Package中建立新的Class视图。这样在右边的Designer中就会看见一个空的视图

  • Together与Visual.Studio.NET的结合使用(转载)

    Together与Visual.Studio.NET的结合使用作者: bnPYSse(原创) 1、Borland Together Edition for Microsoft Visual Studio .NET 的安装

  • 常用CASE工具介绍

    一,概述  今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要。企业业务建模工具, 产品非常多, 特别是在MDA日益流行的今天. WorkFlow是典型的业务及流程建模。 二,软件开发CASE工具简介 (一)图稿绘制:  1,visio:这是目前国内用得最多的case工具。它提供了日常使用中的绝大多数框图的绘画功能(包括信息领域的各种原理图,设计图),同时提供了

  • 最新版Borland Together Designer(UML建模工具)

    Together是一种建模工具 用Together只要精通uml,只需要少量的java知识就搞定业务需要,于是下来用用看,看了自代的一个例子,里面的uml只能看懂少部份,不过功能确实强大,自动生成java代码并运行。

  • 学习使用Borland Together心得体会(三)

    使用Borland Together Edition for Jbuilder         最近学习使用了Together Edition for Jbuilder,发现Together和Jbuilder结合起来开发程序的速度和品质无与伦比,以前发表的两篇文章都是介绍Together ControlCenter的,这个工具与现在要介绍的工具比较起来则更加的侧重于设计,分析。程序员使

  • borland together 2008 sp1 (part01)

    大名鼎鼎的UML建模工具,Borland的together 2008 sp1的安装文件(只是安装文件,不提供破解),原安装文件为533MB,由于附件体积的限制只能拆成23多份。 上传太累了,文件好多,干脆把链接给出来吧 http://downloadcenter.borland.com/12346/433/3049433/Together2008SP1WW_TR.exe?ftpRequestID=860391003&server=downloadcenter.borland.com&authparam=1254665716_2f4c17a019cf4d0b303f5086de6b19ce&ext=.exe 或者 ftp://ftpc.borland.com/12346/433/3049433/Together2008SP1WW_TR.exe

  • Borland Together Designer 2005 Crack

    Borland Together Designer 2005 Crack

  • Borland Together for Visual Studio 2005 .NET 破解

    请下载文件/Files/xiongeee/crack.rar按里面说明复盖掉原来的文件即可

  • 【收藏】c++编程常用工具集

    给c++程序员的一份礼物-常用工具集 给c++程序员的一份礼物-常用工具集 ■...开发环境  ---->Turbo c  DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:)  ---->Visual C++ 6.0/7.0  稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大

Global site tag (gtag.js) - Google Analytics