搞过Java的码农都知道,在J2EE开发中一个(确切地说,应该是一类)很重要的框架,那就是ORM(Object Relational Mapping,对象关系映射)。它把Java中的类和数据库中的表关联起来,可以像操作对象那样操作数据表,十分方便。给码农们节约了大量的时间去摸鱼。其实它的本质一点都不复杂,而最核心的就是怎么实现对象和表之间的转换。之前对反射和注解有了一点了解,所以就试着来实现咱们自己的缝合怪。
首先,需要建立一个「表格」:
然后,定义需要的数据库数据类型:
再来完善字段相关信息:
把他们拼起来,成为完整的字段描述:
最后,创建实体类,应用刚才写好的这些注解:
来看看ORM是怎么工作的吧:
做了那么多的铺垫,终于到了临门一脚了,实现一个缝合怪了:
验证效果的时候到了:
当然,实际的运营于生产环境中的ORM框架可要比这个小玩意复杂多了。但千变万变,原理不变,ORM的核心——反射 + 注解——就是这么玩的。