不知道为什么SSH 这么流行

宏哥 发布于 2010/12/17 10:26
阅读 9K+
收藏 6

以前曾经用过 SSH 来做程序,有几个感受:

Spring:

    里面有些不错的最佳实践,这个东西确实比较实用。特别是Spring MVC,加上freemarker非常棒。而且体积很小。

    JDBCTemplate 也蛮实用的

Hibernate:

   可以产生CRUD,ORM. 但是实际应用当中,真的感觉不出ORM 的代码有什么用?直接用JDBC不仅更简单,更灵活,而且性能更好。看不出这个东西有什么价值。Hibernate本身质量也不高,bug 很多。HQL把本来简单直接的SQL搞复杂了。SQL灵活应用起来,有很强大的功能,HQL简直无法做到。在基本的CRUD操作当中,hibernate ORM也缺乏严谨。不知道用这个为了什么,还是专注细分市场。

Struts:

   最早的 MVC,进入早,很小,并且应用广泛,有很多大客户应用它的实例。用或者不用,差别并不是很大。

 

其实SSH 就是一个S有点价值。

 

加载中
0
绝版小西瓜
绝版小西瓜

不知道,不过我们我知道的同学没用使用SSH的,要不就是自己公司的框架,要不就是 封装的框架,可能是我接触的太少了,不过我还真没见过使用的,上学的时候老师也说SSH是主流。

0
宏哥
宏哥

不用SSH 才是正确的方向。很奇怪的就是技术讨论都喜欢讨论SSH.

0
前冲
前冲

SSH只是浮云,不管以前怎样,都将变成传说,重要的是:让自己知道如何驾驭一个框架,或者深入理解,学其所长并为己所用.

0
programtic
programtic

哈哈,又有关于这个的讨论,我们一直在用ssh,我暂时也只停留在会使用一些常用的用法的阶段,框架还是有他的很多好处的,就拿hibernate来说,对于单表操作,至少他可以节省很多重复的代码,当然你自己封装又是另外一回事,自己封装不见得代码的性能,个方面会比hibernate强,至少人家的代码是给全球的开发者开放的。我觉得楼上说的很对,如果能驾驭好一个框架,才算真的牛。

0
宏哥
宏哥

引用来自#5楼“张优”的帖子

哈哈,又有关于这个的讨论,我们一直在用ssh,我暂时也只停留在会使用一些常用的用法的阶段,框架还是有他的很多好处的,就拿hibernate来说,对于单表操作,至少他可以节省很多重复的代码,当然你自己封装又是另外一回事,自己封装不见得代码的性能,个方面会比hibernate强,至少人家的代码是给全球的开发者开放的。我觉得楼上说的很对,如果能驾驭好一个框架,才算真的牛。

你觉得单表操作,hibernate需要一个配置文件,至少对应一个类,它在哪个方面减少了代码?请不吝赐教

还有做update的时候,你如何精确控制 只更新必须更新的?还是除了主键,其他全部update 一遍?

Sky__
Sky__
1.可以自己手写hql,update User u set u.name='李四' where id=1 2. 用@org.hibernate.annotations.Entity(dynamicInsert=true,dynamicUpdate=true) public class User{....}
0
jumkey
jumkey

hibernate可移植性好、面向对象

0
绝版小西瓜
绝版小西瓜

确实,hibernate有它自身的优点,但是现在的业务动不动就要关联多张表的操作,有了hibernate你就可以一行一行的写hql语句了

0
programtic
programtic

引用来自#6楼“宏哥”的帖子

引用来自#5楼“张优”的帖子

哈哈,又有关于这个的讨论,我们一直在用ssh,我暂时也只停留在会使用一些常用的用法的阶段,框架还是有他的很多好处的,就拿hibernate来说,对于单表操作,至少他可以节省很多重复的代码,当然你自己封装又是另外一回事,自己封装不见得代码的性能,个方面会比hibernate强,至少人家的代码是给全球的开发者开放的。我觉得楼上说的很对,如果能驾驭好一个框架,才算真的牛。

你觉得单表操作,hibernate需要一个配置文件,至少对应一个类,它在哪个方面减少了代码?请不吝赐教

还有做update的时候,你如何精确控制 只更新必须更新的?还是除了主键,其他全部update 一遍?

哈哈,看来这位兄弟对Hibernate也不是很熟悉啊,现在的注解可以做到pojo不要xml配置文件,直接在pojo的java

文件里面配置,另外关于更新,插入字段有dynamic-insert ,dynamic-update可以配置。

0
宏哥
宏哥

引用来自#9楼“张优”的帖子

引用来自#6楼“宏哥”的帖子

引用来自#5楼“张优”的帖子

哈哈,又有关于这个的讨论,我们一直在用ssh,我暂时也只停留在会使用一些常用的用法的阶段,框架还是有他的很多好处的,就拿hibernate来说,对于单表操作,至少他可以节省很多重复的代码,当然你自己封装又是另外一回事,自己封装不见得代码的性能,个方面会比hibernate强,至少人家的代码是给全球的开发者开放的。我觉得楼上说的很对,如果能驾驭好一个框架,才算真的牛。

你觉得单表操作,hibernate需要一个配置文件,至少对应一个类,它在哪个方面减少了代码?请不吝赐教

还有做update的时候,你如何精确控制 只更新必须更新的?还是除了主键,其他全部update 一遍?

哈哈,看来这位兄弟对Hibernate也不是很熟悉啊,现在的注解可以做到pojo不要xml配置文件,直接在pojo的java

文件里面配置,另外关于更新,插入字段有dynamic-insert ,dynamic-update可以配置。

注释其实和配置文件没有区别,另外一种写法而已

dynamic这些配置,不仅繁琐,容易出错,本来不需要配置的东西,增加一个配置。都不如直接写jdbc更简单可靠。

HQL 做复杂查询的时候,比sql 更复杂难懂。在复杂的sql,HQL根本做不到

如果进行递归树查询,请问,如何兼容mysql.

0
宏哥
宏哥

引用来自#7楼“Jumkey”的帖子

hibernate可移植性好、面向对象

大多项目是不需要可移植性的,数据库是什么,操作系统是什么,都是非常清楚的。

ORM很多为了支持类似mysql 这种非标准rdbms,引入很多非标准特性,额外的增加了复杂度,

类似insert_id这种东西。

对比较大的项目,根本不需要考虑移植性。

不会为了兼容 mysql 这样的东西,去引入复杂性,这样做会增加质量风险

返回顶部
顶部