自己写hibernate(模拟实现)

刚开始学习hibernate,觉得对数据库的操作变得简单了。所以就对实现进行研究,于是就写了一个模拟hibernate实现的过程。

首先我们开始在数据库中建立一张表,我这里就是建立user表,里面的属性有:id、username、pwd,这三个属性,其中id为主键。设计的表的结构为:


下面就是建立工程,并加入mysql的驱动程序。

下面开始代码的编写。首先编写一个User类,里面主要是属性和get、set方法。类的主要代码如下:


下面我们就开始写测试的方法,我们知道,在hibernate中使用session 的save(对象)就可以保存数据到数据库中,所以我们也这样的模拟实现一个。我们首先来写测试的方法,再来写方法的实现。(这也叫驱动测试开发)

我们的测试类如下:


然后我们再来写Session类的实现,以及save方法的实现。这里面主要用到的是java反射机制,(但是在hibernate的实现中很少用到java反射机制,这里只是模拟。)

下面的代码就是对Session的具体实现:


上面的代码其实还可以进行封装,以便于我们下次进行实现别的方法,我们不仅仅能实现save()方法。还可以实现别的方法,这里就不一一的列举。这样我们的代码就完成了,我们开进行测试。

运行我们的测试类。意思就是将id为1,username为“王新”,pwd为“wangxin”存在数据库中。我们执行后看看数据中的内容:



这样我们看到数据库中已经插入数据了,所以我们的模拟实现过程成功了。

总结:通过这个模拟实现的过程 ,我们对hibernate的实现有了一个大致的了解,但是hibernate的实现比这还复杂,使用的方法也不是这样,但这个模拟的过程,对初学者来说应该是很好的一个学习hibernate实现过程的例子。

posted on 2012-06-17 11:19  c语言源码  阅读(244)  评论(0编辑  收藏  举报

导航