这一步要实现的目标是在执行mvn package时,maven为我们自动创建数据表,并将测试数据添加进去。是不是很实用?你要觉得不所谓,也要以跳过这步。
一、加入ssh支持
就是增加struts、spring、hibernate等的依赖包啦。。不细说了。后面详细说明。
二、配置插件
这一块是最复杂的,先来了解两个插件:
1、hibernate3-maven-plugin插件可实现自动生成数据库schema
hibernate3:hbm2cfgxml: Generates hibernate.cfg.xml
hibernate3:hbm2ddl: Generates database schema.
hibernate3:hbm2doc: Generates HTML documentation for the database schema.
hibernate3:hbm2hbmxml: Generates a set of hbm.xml files
hibernate3:hbm2java: Generates Java classes from set of *.hbm.xml files
hibernate3:schema-export: Creates SQL DDL file and generates the database schema from set of *.hbm.xml files
hibernate3:schema-update: Updates the database schema based on the set of *.hbm.xml files
2、dbunit-maven-plugin,可以实现数据库中数据的导入导出
dbunit:operation: Execute a database operation using an external dataset file.
dbunit:export: Export database tables into a dataset file.
dbunit:compare: Compare a dataset with database.
了解上面两个插件后,就可以用到它们了。怎么用,就是在pom.xml加入以下代码:
<build>
<finalName>sshExt</finalName>
<!-- hibernate3-maven-plugin负责生成数据库 -->
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.1</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
</dependencies>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
</component>
</components>
<componentProperties>
<drop>true</drop>
<jdk5>true</jdk5>
<propertyfile>target/classes/jdbc.properties</propertyfile>
</componentProperties>
<skip>${maven.test.skip}</skip><!--很重要,可以控制是否要在package时重新建表-->
</configuration>
<executions>
<execution>
<phase>process-test-resources</phase>
<goals>
<goal>hbm2ddl</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- dbunit-maven-plugin负责数据库的导入导出 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>dbunit-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>operation</goal>
</goals>
</execution>
<execution>
<id>test</id>
<phase>test</phase>
<goals>
<goal>operation</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>${jdbc.groupId}</groupId>
<artifactId>${jdbc.artifactId}</artifactId>
<version>${jdbc.version}</version>
</dependency>
</dependencies>
<configuration>
<dataTypeFactoryName>${dbunit.dataTypeFactoryName}</dataTypeFactoryName>
<driver>${jdbc.driverClassName}</driver>
<username>${jdbc.username}</username>
<password>${jdbc.password}</password>
<url>${jdbc.url}</url>
<src>src/test/resources/sample-data.xml</src>
<type>${dbunit.operation.type}</type>
<skip>${maven.test.skip}</skip><!--很重要,可以控制是否要在package时插入测试数据-->
</configuration>
</plugin>
</plugins>
</build>
三、配置数据库连接
除了pom.xml文件。还需一个jdbc.properties文件。内容如下:
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.connection.username=root
hibernate.connection.password=
hibernate.connection.url=jdbc:mysql://localhost/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8
hibernate.connection.driver_class=com.mysql.jdbc.Driver
四、配置实体,由于我们采用hibernate框架
hibernate.cfg.xml:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping class="net.apex.framework.model.User"/>
<!-- <mapping class="net.apex.framework.model.Role"/> -->
</session-factory>
</hibernate-configuration>
五、配置持久化方案
persistence.xml:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="ApplicationEntityManager" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!--
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
-->
</persistence-unit>
</persistence>
这个文件基本就这样。
六、添加实体对象
User.java:
/**
*
*/
package net.apex.framework.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* @author Administrator
*
*/
@Entity
public class User {
private Long id;
private String name;
/**
* @return the id
*/
@Id
@GeneratedValue
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the name
*/
@Column(name="name")
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
}
这个实体对象采用annotaion来做持久化映射
七、添加测试数据
sample-data.xml:
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<table name="user">
<column>id</column>
<column>name</column>
<row>
<value description="id">-1</value>
<value description="name">user</value>
</row>
<row>
<value description="id">-2</value>
<value description="name">admin</value>
</row>
</table>
</dataset>
以上配置基本实现了。在这个maven工程启动时,会自动创建数据库,并将sample-data.xml中的测试数据插入到数据库中。那么如果数据库通过其它来源已插入了一些不错的数据,怎么将它导入到sample-data.xml中呢。有办法:
mvn dbunit:export -Ddest=sample-data.xml
上面的几个文件的目录是这样的:
src/main/resources/hibernate.cfg.xml
src/main/resources/jdbc.properties
src/main/resources/META-INF/persistence.xml
src/test/resources/sample-data.xml
pom.xml
分享到:
相关推荐
SSH整合指的是Spring、Struts和Hibernate这三大Java开源框架的集成应用。这三大框架分别负责控制层、视图层和持久层,它们的结合能够构建出功能强大的企业级Web应用程序。 Spring框架是整个SSH整合的核心,它提供了...
Struts2、Spring3、Hibernate4、Maven和EasyUI是Java Web开发中常见的开源框架和技术,它们在构建高效、可维护的企业级应用程序方面发挥着关键作用。本篇将详细介绍这些技术及其整合入门的知识点。 **Struts2** 是...
本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...
Struts2、Spring3、Hibernate4、Maven和EasyUI是Java Web开发中常见的技术栈,它们各自在应用开发中扮演着重要的角色。这个视频教程应该是针对初学者,旨在介绍如何将这些技术整合到一起,构建一个完整的Web应用程序...
**SSI(Struts + Spring + Maven + MyBatis)整合详解** 在现代Java Web开发中,集成多种框架来实现高效、灵活的应用程序架构是常见的做法。`SSI`整合,即Struts、Spring、Maven和MyBatis的组合,旨在提供一个强大...
《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...
Struts2负责请求分发和业务逻辑,Spring3处理依赖管理和事务控制,Hibernate4管理数据库操作,Maven确保项目的构建过程,而EasyUI则提供了用户友好的前端展示。这样的组合在大型企业级应用中非常常见,因为它提供了...
1. 配置环境:确保项目中引入了Struts2、Spring和Hibernate的相应库,这通常通过Maven或Gradle等构建工具完成。 2. 配置Spring:创建Spring的配置文件(如`applicationContext.xml`),定义Bean并设置其依赖。例如...
标题 "idea14+maven+struts+spring+mybatis框架" 描述的是一个使用IntelliJ IDEA 14集成开发环境,结合Maven构建工具,以及SSH(Struts、Spring、Hibernate)经典企业级开发框架,并融入MyBatis持久层框架的项目。...
标题 "Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发" 指向的是一个关于如何在集成开发环境Eclipse与MyEclipse中搭建Struts、Spring和Hibernate(SSH)框架的教程。SSH是Java Web开发中常用的一个...
Struts2.3.28、Spring4.1.6和Hibernate4.3.8是三个经典的Java EE框架,它们的整合是企业级应用开发中常见的技术栈,通常被称为S2SH。在这个版本的整合中,注解的使用极大地简化了配置过程,使得开发更加高效。以下是...
该项目是一个经典的Java Web开发组合,使用了Maven作为构建工具,Struts2作为表现层框架,Hibernate3作为持久层框架,Spring3作为依赖注入和事务管理框架,且基于Eclipse IDE进行开发。以下是对这些技术栈的详细说明...
在完成上述配置后,开发者可以创建Action类(Struts2的控制器),Service层(Spring的业务逻辑),DAO层(数据访问对象,使用Hibernate进行数据库操作),以及相应的视图(JSP页面)。通过Maven的生命周期管理,可以...
SSH整合,即Struts、Spring和Hibernate三大框架的集成,是Java Web开发中常见的技术栈。这个整合项目中包括了MySQL数据库的相关驱动,意味着它将使用MySQL作为后端数据存储。接下来,我们将深入探讨SSH整合的关键...
在IT行业中,开发Java Web应用时常常会使用到一套名为SSH2(Struts2、Spring、Hibernate)的技术栈,这是一套成熟的后端框架组合,能够有效地帮助开发者构建高效、可维护的应用程序。本教程将详细讲解如何在Eclipse...
这五者的整合使得开发者能够利用Maven管理依赖,Spring3作为核心容器进行服务注入和事务管理,Struts2处理Web请求,Hibernate4和MyBatis3则负责数据持久化。这样的组合提供了从依赖管理到数据库操作的完整解决方案,...
总结来说,"框架struts2.3.4+spring3.12+hibernate4.1.7+maven整合"项目展示了如何利用Maven构建一个包含Struts2、Spring和Hibernate的Java Web应用。这个整合涉及到多层架构的设计,依赖注入的实现,以及数据库操作...
在"SSH Struts2+hibernate+Spring+maven框架.zip"这个项目中,开发者可以通过Maven构建系统来管理项目依赖,使用Struts2处理HTTP请求和展现逻辑,Hibernate进行数据持久化,而Spring则负责组件的管理和事务控制。...
Struts2、Spring3、Hibernate4、Maven和EasyUI是Java Web开发中常见的开源框架和技术,它们在构建高效、可维护的Web应用程序时发挥着关键作用。本视频教程"Struts2+Spring3+Hibernate4+Maven+EasyUI整合入门视频006...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责Web应用的不同层面:Struts2专注于表现层,Spring则是一个全面的框架,涵盖了依赖注入、事务管理、AOP(面向切面编程)等多个方面,而Hibernate...