前言: 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的代码(可以直接使用),只需要修改配置就可以了。开发项目过程中,我一直使用这个,也可以连接mysql oracle,数据库哦。很实用的哦
MyHibernate
自己写的一个hibernate,实现增删查该基本功能 同时也有对hibernate 的原理领悟
myHibernate5.2.2的demo,包括基础的配置文件等。
关系: Constrained : 约束,表明主控表的主键上是否存在一个外键(foreigh key) 对其进行约束。 property-ref:关联类中用于与主控类相关联的属性名,默认为关联类的主键属性名 单向一对多需在...
Hibernate3.2源码,深层次理解hibernate要看的东西。
这是一个Hibernate简单使用的示例项目,包含:一个配置文件,一个持久化类,一个对象关系映射文件,一个数据库操作类。
hibernate使用说明,含junit单元测试,CRUD、SQL、HQL使用说明。
springboot + hibernate 的入门项目,idea 2018 + maven + jdk,对表进行增删改查