【功能】在DB中创建一个表并增加一条记录。
【开发工具】myEclipse6.5,MySQL
【步骤】
Step1:建立一个普通的JavaProject(因为WebProject用于完成B-S模式的项目,而如果想实现C-S模式的项目可将Server端建成WebProject或是发布为WebService);
Step2:导入Hibernate架包和MySQLdriver。基于Hibernate开发和基于Struts相同都是自己手动导入架包,然后手动拷入配置文件(这样比较有利于熟练后进行属性扩展);如下图1:
图1
Step3:书写配置和映射文件文件。Hibernate包括:
hibernate.cfg.xml:用来配置数据库,映射文件名等;代码如下图2:
图2
映射文件:持久化类与表这件的对应,类中的属性名与表中的列名之间的对应;代码如下图3:
图3
Step4:书写持久化类,代码如下图4。由于Hibernate是低侵入式的所以该类不用继承任何类或是实现任何接口,但是其中有3个“必要”:
必要1:必须有空的构造器;
必要2:必须有属性ID,来作为该表的主键;
必要3:如果要把该持久化类的事例放在Set中则必须重写该类的equals(),hashCode()方法;
图4
Step5:书写执行程序。该项目只是完成对于底层数据库的一次操作,代码如下图5:
图5
【问题及解决方法】
问题1:根据项目功能确定将该小程序建立成哪种project;本程序完成功能如下图6所示:
图6
【注】B/S模式:B端要建立WebProject,S端可建立为WebServiceProject或是JavaProject;
C/S模式:C端要建立JavaProject,S端可建立为WebServiceProject或是JavaProject;
问题2: MyEclipse6.5中已经具有使用Hibernate架包的功能,所以不用再下载Hibernate Tool插件,只要将架包手动导入就可以用了;
问题3:我机器上装的MySQL是用的PHPStudyAdmin,该软件是要安装的,单很小很好用而且不用再配置数据库;
问题4:最近一段时间都是在弄Web方面的开发写了几个WebProject,都是需要部署在服务器上就自动运行的,很长时间没有运行过JavaProject都忘记如何运行了。
【注】对于最普通的JavaProject只要找到具有main函数的类,然后RunAs Application即可,其中main()函数中式一定要有String【】 args参数的,否则运行时会找其他的程序入口的;
问题5:对于配置文件的映射是在hibernate.cfg.xml中指定的;
【运行结果】如下图7:
图7