`
qingBYqing
  • 浏览: 50311 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

模仿Hibernate自己写的一个简单MyHibernate

    博客分类:
  • Java
阅读更多
  
  前言:    Hibernate感觉这个东西还是比较好的,可以自动生成一些大家都写腻了代码。可是它内部原理是什么样的呢,为了搞清楚它的内部体系,自己根据自己对反射机制的一点了解 ,模仿了个简单的Hibernate,这是个基本能实现 增、删、查、改、的功能的简单的myHibernate,就是可以在,创建了一个pojo类对象、配置好相应的xml文件后,调用方法即可对该对象与数据库进行相关操作,相当于自己封装了一个dao类包。这里面还有很多不完善的地方,希望大家能够指点,让我真正理解它内部原理

一、准备工作:配置项目需要的第三方插件:1.数据库驱动类,2.xml解析dom4j组件。

二、思路
1.大体思路:
         要将一个数据在数据库中进行相关的操作(增删查改)
         首先要链接上数据库,其次就是要有对数据库表对应的sql操作语句
   

2.仔细分析:           
Q:怎样才能链接上数据库 ?
    A:要有连接数据库的相关参数

         Q:参数怎么得来?
             A:创建一个类专门来保持存数据库链接的对应参数

                    Q:这个类根据什么来创建?
                          A:根据配置的xml来创建
         
Q:怎样得到相应的sql语句?
     A:采用sql语句拼接;

     Q:如何获得sql语句拼接的字段?
              A:创建一个专门保存数据表中字段的类
                
                  Q:根据什么来创建这个数据库表字段类
                      A:根据xml配置文件

                           Q:xml文件又怎么配置
                               A:根据相应的pojo类
                    
三、步骤:
            根据以上思路 按以下顺序进行:
          
  1.写pojo类 :  
           a.数据库参数pojo类
           b.测试pojo类

  2.配置xml文件:
         a.配置数据库参数xml
         b.配置测试pojo类xml
      
      最后记得将测试 pojo类的路径加进 数据参数xml文件中以便domj4根据这个路径进行解析    
  3.解析xml
       通过dom4j组件边解析,边设置数据库参数或者测试pojo,数据库表对应字段的值

  4.拼接sql语句
      根据上一步解析出来设置的值 进行拼接。

  5.连接数据库执行sql 语句、
            
      
四、心得
          在写这个东西的时候,感觉自己好像思路跟步骤很清晰,可是写着写着出现问题的时候,自己感觉总是分析不出来。最后当自己找这个问题的根源只是出现在一个循环语句里  ,真的是太郁闷了。 跟***哥交流下才发现,如果自己意味一个人在哪里搞,估计我就死在那个for循环语句里面了,靠。

      通过写这个东西发现自己 在代码调试方面,和问题的描述方面 真的是菜到了极点,就是有问题不知道怎么问,就是问了,别人也听的头晕目眩的,不知道你在哪里说什么,就听见自己在哪里里 ‘这个,那个,。。。。。。。。叽叽歪歪  
   
唉。。。。下次跟别人交流的时候,不注意这方面都不行了啊。

还有就是,遇到问题时候,如果能够静下心来,不那么浮躁,自己不要想一下解决不了,就慢慢分析
单独测试,做到这点很重要。这样才能对分析问题有进展,也不容易轻易放弃。

     截个项目源码文件结构图吧,希望多多大家的指教,提出意见,我在建包的时候总是犹豫,很多时候不知道,这个类应该放到哪个包好一点,到底建几个包最好等等。。。。,
有人看了源码的请指教,代码如何重构下使得更具有重用性,扩展性,增强可维护性。。。。。。。。 附件中有源码       

  • 大小: 47.8 KB
  • 大小: 62.6 KB
  • myHibernate.rar (796.3 KB)
  • 描述: 简单myhibernate源码
  • 下载次数: 116
6
0
分享到:
评论
1 楼 dysfzhoulong 2011-03-22  
下了你的东西,研究一下。。。。

相关推荐

    手写myHibernate的代码(可以直接使用)

    7. **查询语言**:myHibernate可以提供一个简单的查询接口,允许开发者通过Java代码编写查询,类似于HQL(Hibernate Query Language)。这将使代码更易于理解和维护。 总结来说,手写myHibernate涉及到Java对象与...

    自己写的hibernate框架

    总的来说,这个“自己写的hibernate框架”为初学者提供了一个宝贵的学习资源。通过实际操作这个自定义框架,学生不仅可以理解Hibernate的基本工作流程,还能学习到如何设计和实现一个类似的ORM解决方案。这将有助于...

    MyHibernate

    Hibernate是一个开源的ORM框架,它提供了一种在Java应用程序中持久化数据的方式,将复杂的SQL操作转化为简单的Java对象操作。通过Hibernate,开发者可以避免编写大量的JDBC代码,提高开发效率并降低出错概率。 二、...

    myHibernate源码

    本文将详细探讨一个自编的Hibernate实现——myHibernate,旨在帮助读者理解Hibernate的基本工作原理,并从中获得对ORM框架更深层次的理解。 首先,myHibernate项目实现了Hibernate的核心功能,包括对象的持久化、...

    自己编写仿hibernate的java框架

    4. **查询语言**:考虑创建一个简单的HQL(Hibernate Query Language)或者Criteria API的仿制品,允许开发者用面向对象的方式来编写查询。 5. **缓存机制**:虽然可能较为复杂,但可以尝试实现一级缓存(Session...

    myHibernate5.2.2D emo

    Hibernate是一个开源的ORM框架,它允许开发者使用面向对象的方式来操作数据库,将Java类与数据库表进行映射,从而避免了传统的JDBC编程模式中的大量重复代码。Hibernate支持多种数据库,包括MySQL、Oracle、...

    MyHibernate.rar

    【标题】"MyHibernate.rar" 是一个以 Hibernate 框架为核心的示例项目,它旨在帮助初学者理解和应用 Hibernate 在实际开发中的基本用法。这个压缩包包含了学习 Hibernate 必要的组件,让我们来逐一剖析其中包含的...

    hibernate4多租户项目

    总之,"hibernate4多租户项目"提供了一个实用的框架,帮助开发者在Hibernate 4环境下实现多租户应用,有效地管理和隔离不同租户的数据。通过深入理解并实践该项目,开发者可以更好地掌握如何在Java应用中实现多租户...

    hibernate的demo

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本demo旨在提供一个基本的Hibernate使用示例,帮助理解其核心概念和功能。 一、Hibernate概述 Hibernate是Java领域内...

    Hibernate学习指南pdf

    - **Session**: 提供了一个事务边界内的会话,用于执行CRUD操作。 Hibernate的工作原理可以概括为:通过Configuration加载配置信息,然后创建SessionFactory,再由SessionFactory生成Session,最后通过Session执行...

    使用Hibernate快速实现持久层处理的实例工程源代码

    Hibernate是一个优秀的对象关系映射(ORM)工具,它简化了Java与数据库之间的数据操作。 标题"使用Hibernate快速实现持久层处理的实例工程源代码"表明,这个项目主要聚焦于展示如何高效地利用Hibernate框架来完成...

    Hibernate3.2源码

    Hibernate是一个开源的Java库,它为Java应用程序提供了一个框架,用于管理持久化数据。通过使用Hibernate,开发者可以避免编写大量的JDBC代码,简化数据库操作,提高开发效率。 2. **ORM概念** 对象关系映射(ORM...

    MyEclipse中运用hibernate来开发j2ee程序

    5. **配置Hibernate配置文件(hibernate.cfg.xml)**:选择“下一步”,然后新建一个Hibernate配置文件,选择相应的数据库连接方式。在数据库配置中,URL要正确设置,例如`jdbc:mysql://localhost:3306/your_database_...

    Hibernate框架环境搭建空白版

    在`MyHibernate3.6_Blank`项目中,你将找到一个基本的Hibernate环境搭建示例,包括了上述所有步骤的实现。你可以以此为基础,根据自己的项目需求进行扩展和定制。通过理解和实践这些基础知识,你将能够熟练地使用...

    Hibernate3.6(开发必看).pdf

    Hibernate是一个开源的对象关系映射(ORM)框架,用于将Java对象映射到关系型数据库中。Hibernate 3.6版本是一个重要的版本,提供了许多改进和新特性。本文将探讨Hibernate 3.6中的相关知识点,包括Java API、ORM...

    Hibernate使用技巧汇总

    - **多对多**: 通常涉及一个中间表来维护多个实体之间的关联。 #### 八、延迟加载配置 - **属性**: `lazy=false`表示被动方的记录由Hibernate负责加载,存储在主控方的集合中。 - **示例**: - `java.util.Set` ...

    myhibernate.zip

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的封装,使得Java程序员可以更方便地操作数据库。它提供了一种规则,使得我们可以通过对象的方式来操作数据库,而无需关心底层的SQL语句。 二、...

Global site tag (gtag.js) - Google Analytics