学过Java的人,应该对SSH不会感到陌生,Struts,Spring,Hibernate这三大企业的主流开发框架,正在给越来越多的Java开发人员使用。但是要知道这些框架底层的实现机制的话,还得再花一点功夫。这些框架底层的实现,其实是使用很多Java反射机制原理。而什么是反射机制呢,在这篇文章里,我就详细说明了,在google,百度一搜很多这方面的资料。
下面,我举个例子,使用Java的机制来实现一个类似于Hibernate的ORM(Object-relational mapping)的数据库访问层的框架。要实现这种基于对象的数据库操作,我们要考虑的问题是:
1. 如何来构建SQL语句来实现CRUD(create, read, update, delete)的操作,也就是我们通常讲的增删改查的操作
2. 如何确定对象中的哪些属性是需要insert或者是update的
3. 如何把对象和底层的数据库表对应起来
如何你把上面这几个问题搞明白的话,要实现一个简单的ORM的框架就不是一件很难的事情了。
假定,现在我们需要对Student这个对象进行数据库增删改的操作,其对应的数据库表是t_student
1. 首先我们来定义一个Student类:
2. 定义生成SQL语句的DaoUtil类
3. 定义数据访问类BaseDao
4. DbManager类中的定义的executeSQL的执行SQL语句
5. 最后编写一个测试类
版权所有:liuwan@pcschoolchina.com 广州巨匠IT
如果需要完整的源代码的话,请留下你们的Email,我会一一回复!