IntelliJ IDEA 2016.1.2建立Struts2+Spring+Hibernate+H2数据库项目

前言


参照IntelliJ IDEA 2016.1建立Strut2工程并使用Tomcat调试建立了项目后,然后按照IntelliJ IDEA 2016.1.1的Struts2项目中引入Junit4.12单元测试,引入Junit到项目之后,开始引入Hibernate并且使用H2作为数据存储,完成一个比较完整的示例服务器。

简单介绍一下H2嵌入式数据库
H2是一个短小精干的嵌入式数据库引擎,主要的特性包括:

  1. 免费、开源、快速;
  2. 嵌入式的数据库服务器,支持集群;
  3. 提供JDBC,ODBC访问接口,提供基于浏览器的控制台管理程序;
  4. Java编写,可使用GCJIKVM.NET编译;
  5. 短小精干的软件,1M左右。

几个嵌入式数据库的对比:
a9d3fd1f4134970ad4b3ee3a93cad1c8a6865de7

实战


1.引入H2数据库

点击工程的"Project Structure"图标,如下图所示:

configure_project_structure

在弹出的界面中根据顺序,依次选择,选择从Maven服务器下载

new_project_library_from_maven

在弹出的界面中根据顺序依次操作,点击搜索图标之后,要等待比较长的一段时间,才能看到下面的OK按钮可以点击。目前H2最新的版本是1.4.191,因此输入"com.h2database:h2:1.4.191"。详细操作如下图:

DownloadLibraryFromMavenRepositoryH2

点击OK按钮,关闭窗口后,稍等,会发现出现一个Problems的提示,点击这个提示列表,如下图所示:

ChooseModules

ProjectStructureH2ProblemsFix

完成后点击OK按钮关闭界面。

2.引入Hibernate框架

切换工程的视图到"Project"模式下

ModelSwitchToProject

项目上面右击鼠标,选择"Add Framework Support ..."菜单,如下图:

AddFrameworkSupportMenuHibernate

在弹出的界面中选择"Hibernate",如下图所示

AddFrameworkSupportMenuHibernateDownload

点击后,出现下载进度,等待进度完成,如下图:

AddFrameworkSupportMenuHibernateDownloadWaiting

下载完成后,再次点击工程的"Project Structure"图标,如下图:

ProjectStructureForHibernate

同样在出现的界面中修复提示的Problems,如下图:

ProjectStructureForHibernateFix

增加"Hibernate"配置文件,点击工程的"Project Structure"图标,如下图:

ProjectStructureForHibernate

增加"Hibernate"配置文件,如下图:ProjectStructureForHibernateAddConfigureFile

选择文件的路径,此处我们使用默认路径,点击OK即可。

ProjectStructureForHibernateAddConfigureFilePathSelect

此时我们点击工程目录,会发现,已经新增了一个名字为hibernate.cfg.xml的配置文件,如下图:

HibernateConfigureFile

3.配置Hibernate与H2数据库通信

按下面所示的修改hibernate.cfg.xml文件,如下:

此时会提示我们,找不到Simulator.Hibernate.Model.Visitor这个类,因此我们创建这个类,如下图所示:

HibernateVisitorModel

三个文件的源代码如下:

Visitor.Java中的代码如下:

代码解释一下,@Entry,@Table的注解来告知Hibernate,这个是个数据库的表配置类,其中的每个成员变量对应数据库表的字段。
如下的注解

表示id为整个表的自增主键。

VisitorDao.Java中的代码如下,这个文件提供了访问数据的接口定义:

VisitorDaoImpl.Java中的代码如下,这个文件对VisitorDao中定义的接口进行了实现:

这部分的代码需要着重解释一下

这个语句,注意,这个语句中的"from Visitor"Visitor.Java中定义的类的名称,由Hibernate内部进行变量,表之间的对应。

如上操作之后,就可以在任意的Action中通过调用VisitorDaoImpl实现对于数据库的写入,查询了。

参考链接


Frequently Asked Questions

发布者

《IntelliJ IDEA 2016.1.2建立Struts2+Spring+Hibernate+H2数据库项目》上有2条评论

    1. 这个是一个系列,在前言中标明使用 "IntelliJ IDEA 2016.1建立Strut2工程并使用Tomcat调试" 这部分中进行的spring的引入。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注