相信大家都看了那篇《用jdbc也能玩出hibernate的感觉》的博文,里面的争吵也暂时告了一段落,且不提到最后是新手癖隐藏癖的胜利还是保皇党的成功卫冕,也不提是否应该重复发明轮子这样的老掉牙话题,只提文中的那种玩法,那是牛人们的玩法,比较高级。我们这些新手帖的常客,日夜还要为在简历上写一些精通XX而深感惶恐,是没有精力与境界这样玩的。所以我们有别样的玩法,这个玩法与牛人们的正好相反,就是 用hibernate 也能玩出jdbc的感觉。
怎么玩法呢?这个玩法比较山寨。其实很简单。诗经三百首,一言以蔽之,思无邪。Hibernate玩jdbc,一言以蔽之,去ORM。具体地说,就是把那些one2many,many2one,many2many通通抛弃,将那些重量级的set通通移除,不再为OO而OO。你称为倒退也可以。当然这个玩法不是我首创的,早在N年前,就有先贤们开始玩了。只是这种玩法缺乏理论支持,现在就让这篇一发出几分钟就可能沦为新手帖的博文来承认这是一种高效而智慧的开发方法。
用hibernate玩jdbc,不用为支持多数据库烦恼了,不用为延迟加载担惊受怕了,也不用整天研究如何实现分页比较好了。又可以利用hql这个利器,灵活控制各种各样的查询逻辑。总之,就是吸收了hibernate的所有好处,扔掉了所有包袱与累赘。
这篇神奇的文章,并不是叫你从此后,就用hibernate玩jdbc了。真正要说明的是,人才是语言的主人,人才是框架的主人。一把剑到了你手中,你可以用它杀人,为何就不能用它来劈柴呢。而在高手的眼中,木可为剑,竹叶也可为剑。只有学习了框架,再忘记了框架,才能站在更高的点上,看穿问题的本质,一剑封喉。在技术上,也就是找到最适合的途径简单直接高效地解决问题。
分享到:
相关推荐
由于Hibernate是基于 JDBC的,所以它的数据库查寻的能力相对于CMP来说也是异常强大的,Hibernate自身也提供了HQL查寻语句。 一个最简单的Hibernate project(不涉及Struts, Tomcat, XDoclet,JBoss等东东)必须的...
这个博客主要是用JSP+servlet+JavaBea,Dao层除了用Jdbc实现了外,还用Hibernate做了一次实现,提供了两种方案。方案的切换比较简单,写了个Dao工厂类,修改一下daoconfig.properties就可以把实现替换掉。 数据库...
spring声明式事务管理+jdbc+连接池 包内为代码,下载可直接执行。 一直用s2sh,感觉hibernate不好用,所以写了一个spring声明式事务管理+jdbc+连接池。
此外,DWR的异步调用也能减轻服务器压力,提升响应速度。 7. 安全性:在Web项目中,安全性是至关重要的。开发者可能使用了Spring Security或者Apache Shiro等安全框架来保护应用程序免受SQL注入、XSS攻击等威胁,并...
此外,Spring 提供了数据访问抽象,包括JDBC模板和对ORM框架如Hibernate的支持。 **Tiles框架**: Tiles 主要用于Web应用的页面布局。它允许开发者定义可重用的页面片段,然后组合成复杂的页面。这样,开发者可以...
就是if else ...),但是对于查询业务简单但是数据库集群环境的场景有点憋屈(其实对mybatis使用也不多,瞎评论^_^)。 3、spring jdbc:小巧,灵活,足够优秀,个人比较喜欢使用,但是代码量偏大,原生的接口重复...
3. **Hibernate3**:Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库,避免了传统的JDBC编码工作。Hibernate3引入了HQL(Hibernate Query Language),类似于SQL,但面向对象。它还...
MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开元产品的专属eclipse开发工 具。作为一款商业eclipse插件来...
JOOQ 是基于Java访问关系型数据库的工具包,轻量,简单,并且足够灵活,可以轻松的使用Java面向对象语法来实现各种复杂的sql...对于喜欢写sql的码农来说,JOOQ可以完全满足你控制欲,可以是用Java代码写出sql的感觉来。
4、使用p6spy 打印出hibernate 中已经替换了占位符参数的sql语句,为hibernate的调试不在感到苦恼 系统部署我使用的ant 部署,代码包含ant部署文件 skyline\coding\src\config\jdbc.properties 为数据库配置...
采用Hibernate是由于对于性能要求不高,所以不采用原生Jdbc处理了 ) 前台采用angularjs+bootstrap,依赖angularjs相关插件 功能: review内容的管理,功能包括:a)关闭 review b)关闭issue c)issue查询 d)issue生成...
前言学习JDBC以来一直想实现一个简单的封装来方便编程但是由于水平有限一直没有较好的办法,看了IBM开发网上的两篇文章以后感觉作者的设计思想很好一定能扩充成一个实用的JDBC封装。所以我在文章提供的源码基础上加...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,有许多JSON库,如Jackson、Gson、org.json等,它们提供了将Java对象转换为JSON字符串以及...
jbpm使用开源框架Hibernate3,性能非常好,可以配置jdbc连接参数,支持当前大多数流行的数据库。 在流程设计器方面,jbpm使用Xpdl语言定义流程,有一个Jawe来图形化定义流程,功能图形化功能相对较强。jbpm还提供了...
这对于使用类似如Hibernate的用户来说所操的心太多了,而且也不方便。在Maven2中实现了传递依赖,如此对于Hibernate所依赖的包,Maven2会自动下载,开发人员只需关心Hibernate即可。 注意:只有得到Maven支持的依赖...
- 能够将Hibernate抛出的异常转换为Spring统一的异常体系,便于上层统一处理。 - **使用方式**: - DAO中注入`HibernateTemplate`:通过在配置文件中配置`SessionFactory`并将其注入到`HibernateTemplate`中,...
6. 降低API使用难度:如对JDBC、JavaMail等复杂API进行了封装,使其更容易使用。 然而,Spring也存在一些缺点: 1. 易感“大而全”:Spring包含众多模块,可能会给人一种复杂的感觉。 2. 依赖反射:Spring的依赖...
Hibernate通过ORM(Object-Relational Mapping)技术将Java对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作数据库,而无需关心底层SQL的编写。这大大提高了开发效率,同时也减少了潜在的错误。 ...
Java 程序猿技术路线图 在技术方面,无论我们怎么学习,总感觉需要提升自己不知道自己处于什么水平了。但是,如果有清晰的指示图供参考还是非常不错的,...* Hibernate 持久层框架:MySql、Oracle、SQLServer、JDBC
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。 第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM...