Hibernate实践程序1——DB中增加一条记录

   【功能】在DB中创建一个表并增加一条记录。

   【开发工具】myEclipse6.5,MySQL

   【步骤】

            Step1:建立一个普通的JavaProject(因为WebProject用于完成B-S模式的项目,而如果想实现C-S模式的项目可将Server端建成WebProject或是发布为WebService);

            Step2:导入Hibernate架包和MySQLdriver。基于Hibernate开发和基于Struts相同都是自己手动导入架包,然后手动拷入配置文件(这样比较有利于熟练后进行属性扩展);如下图1:

 

Hibernate实践程序1——DB中增加一条记录           

                      图1

             Step3:书写配置和映射文件文件。Hibernate包括:

                        hibernate.cfg.xml:用来配置数据库,映射文件名等;代码如下图2:

                        

Hibernate实践程序1——DB中增加一条记录                       

                                    图2                   

                        映射文件:持久化类与表这件的对应,类中的属性名与表中的列名之间的对应;代码如下图3:

 

Hibernate实践程序1——DB中增加一条记录          

                                                      图3

              Step4:书写持久化类,代码如下图4。由于Hibernate是低侵入式的所以该类不用继承任何类或是实现任何接口,但是其中有3个“必要”:

                        必要1:必须有空的构造器;

                        必要2:必须有属性ID,来作为该表的主键;

                        必要3:如果要把该持久化类的事例放在Set中则必须重写该类的equals(),hashCode()方法;

                        

Hibernate实践程序1——DB中增加一条记录           

                                    图4

            Step5:书写执行程序。该项目只是完成对于底层数据库的一次操作,代码如下图5:

 

Hibernate实践程序1——DB中增加一条记录  

                                    图5

问题及解决方法】

            问题1:根据项目功能确定将该小程序建立成哪种project;本程序完成功能如下图6所示:

 

Hibernate实践程序1——DB中增加一条记录

                                    图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:

 Hibernate实践程序1——DB中增加一条记录

                                    图7

你可能感兴趣的:(Hibernate)