如何根据数据库中的表自动生成实体类

如何根据数据库中的表自动生成实体类,第1张

最好的做法是每张表对应一个实体类bean,如果一张表关联其他表,把这张表对应的实体类加上就可以了。如果使用了Hibernate,就可以使用配置文件进行映射。

A. 实体类就是属性类,通常定义在model层里面。

B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段,这样做对数据库 *** 作起来方便。

这样做的好处:

1.对对象实体的封装,体现OO思想。

2.属性可以对字段定义和状态进行判断和过滤

3.把相关信息用一个实体类封装后,我们在程序中可以把实体类作为参数传递,更加方便。

C. 说白了就是为了让程序员在对数据库 *** 作的时候不用写SQL语句

D. 就是一个数据库表生成一个类

你这个需求特殊,给你个思路。

先通过数据库元数据对象DataBaseMetaData和ResultSetMetaData得到表的元数据的信息。

生成类,可以用反射的方式和修改字节码的方式。修改字节码方式可以使用开源的CGLib这个库,Hibernate就是使用的这个库。这个生成是在内存的。

估计,将java代码写成.java文件,再调用编译器编译形成class也能完成需求。

就是不知道哪个适合你。效率上,肯定是上面两种好,最后一种差一些。

我们在编写代码的过程中会发现有很多代码是有规律的,编写起来无味、繁琐。

这个时候我们可以根据规律来编写一些程序来生成这些代码,这个生成代码的程序就是代码生成器。

现阶段代码生成器有很多,其中我个人认为CodeSmith的功能最为强大。基本上你想要生成什么样的代码都可以根据模版来生成,模版有自带的,有别人编写的,当然,你觉得不够,也可以自己编写模版。

至于如何根据数据库生成实体类。他的原理是数据库中的字段就是将来生成实体类中的私有变量和属性。

所以我们可以编写模版来读取数据库中的字段,然后来根据数据库中的字段来生成你所需要的变量和属性。

至于Codesmith的具体使用,比较简单,可以到网上搜索一下,有很多的介绍。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6688888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存