`
qingBYqing
  • 浏览: 49397 次
  • 性别: 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的代码(可以直接使用)

    手写myHibernate的代码(可以直接使用),只需要修改配置就可以了。开发项目过程中,我一直使用这个,也可以连接mysql oracle,数据库哦。很实用的哦

    MyHibernate

    MyHibernate

    myHibernate源码

    自己写的一个hibernate,实现增删查该基本功能 同时也有对hibernate 的原理领悟

    myHibernate5.2.2D emo

    myHibernate5.2.2的demo,包括基础的配置文件等。

    Hibernate使用技巧汇总

    关系: Constrained : 约束,表明主控表的主键上是否存在一个外键(foreigh key) 对其进行约束。 property-ref:关联类中用于与主控类相关联的属性名,默认为关联类的主键属性名 单向一对多需在...

    Hibernate3.2源码

    Hibernate3.2源码,深层次理解hibernate要看的东西。

    MyHibernate.rar

    这是一个Hibernate简单使用的示例项目,包含:一个配置文件,一个持久化类,一个对象关系映射文件,一个数据库操作类。

    myhibernate.zip

    hibernate使用说明,含junit单元测试,CRUD、SQL、HQL使用说明。

    myhibernate.rar

    springboot + hibernate 的入门项目,idea 2018 + maven + jdk,对表进行增删改查

Global site tag (gtag.js) - Google Analytics