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

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

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

二、[color=green]思路[/color]:
1.大体思路:
要将一个数据在数据库中进行相关的操作(增删查改)
首先要链接上数据库,其次就是要有对数据库表对应的sql操作语句
[img]http://dl.iteye.com/upload/attachment/290963/7b91d147-9800-362f-afea-0c0d6b319b20.jpg[/img]

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

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

Q:这个类根据什么来创建?
A:根据配置的xml来创建

Q:怎样得到相应的sql语句?
A:采用sql语句拼接;

     Q:如何获得sql语句拼接的字段?
A:创建一个专门保存数据表中字段的类

Q:根据什么来创建这个数据库表字段类
A:根据xml配置文件

Q:xml文件又怎么配置
A:根据相应的pojo类

三、[color=green]步骤:[/color]
根据以上思路 按以下顺序进行:

1.写pojo类 :
a.数据库参数pojo类
b.测试pojo类

2.配置xml文件:
a.配置数据库参数xml
b.配置测试pojo类xml

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

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

5.连接数据库执行sql 语句、
        

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

通过写这个东西发现自己 在代码调试方面,和问题的描述方面 真的是菜到了极点,就是有问题不知道怎么问,就是问了,别人也听的头晕目眩的,不知道你在哪里说什么,就听见自己在哪里里 ‘这个,那个,。。。。。。。。叽叽歪歪 8)

唉。。。。下次跟别人交流的时候,不注意这方面都不行了啊。

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

截个项目源码文件结构图吧,希望多多大家的指教,提出意见,我在建包的时候总是犹豫,很多时候不知道,这个类应该放到哪个包好一点,到底建几个包最好等等。。。。,
有人看了源码的请指教,代码如何重构下使得更具有重用性,扩展性,增强可维护性。。。。。。。。 附件中有源码 :wink:
[img]http://dl.iteye.com/upload/attachment/290961/d7b33ca4-aa39-34bb-9e2c-1c04e37e01c6.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值