技术开发 频道

Java企业系统架构选择考量


【IT168 技术文档】
持久层框架


  持久层框架目前有EJB2/EJB3的实体Bean、Hibernate和各种JDO产品,当然还有直接写SQL语句的JDBC,如iBatis等。

  持久层框架质量好与坏区分就是是否是O/R Mapping,也就是对象和关系数据库映射,关系数据库需要实现定义好Schema结构;对象因为字段而变的也有一个自己的结构,如何将对象数据自动持久化到数据库中,首先我们得定义两者结构的对应,这实际是数据的元数据定义。

  因为Hiberante/Toplink/JDO这样O/R Mapping工具帮助你实现对象和数据库转换,克服了对象和数据库阻抗现象,O/R Mapping总结 ,所以才使得我们更多的可以对象方式(从模型Model对象)来考虑Java EE/J2EE系统,可以完全放弃以前那种以数据库为中心的思维方式:数据库时代的终结。

  所以,是否选用好的持久层框架,取决于你整个团队思维是否彻底OO了,是否需要真正OO,当然,对于一些小型项目,有时我们觉得直接使用JDBC模板反而更加轻松快捷一点,这也是Spring的JDBC模板/iBatis/Jdon的Jdbc模板存在的理由了。

例如新增一个数据表,在Jdon框架只需要下面几行代码即可:

String sql = "INSERT INTO testuser (userId , name) VALUES (?, ?)"; List queryParams = new ArrayList(); queryParams.add(userTest.getUserId()); queryParams.add(userTest.getName()); jdbcTemp.operate(queryParams,sql);
  这种方式和O/R Mapping兴师动众的多个XML配置和关系映射思考相比,对于习惯SQL语句的程序员反而更加迅速。

  从以上可以看出,灵活性/快速性/简单性/可伸缩性是我们进行架构选择的主要几个依据,架构选择实际就是在这几个策略之间做一个平衡。当然,还有一个非常重要的因素,因为它不属于某个层次的技术,性能/缓存是必须和上面因素综合考虑的因素。
0
相关文章