1、在pom文件加入如下配置:
<build>
<plugins>
<!-- Hibernate生成实体配置 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<configuration>
<components>
<component>
<name>hbm2java</name>
<outputDirectory>src/main/java/com/anysoft/cms/</outputDirectory>
<!-- 主要用于反向控制数据库引擎通过JDBC连接数据 -->
<implementation>jdbcconfiguration</implementation>
</component>
</components>
<componentProperties>
<!-- Hibernate配置文件 -->
<configurationfile>src/main/resources/hibernate.cfg.xml </configurationfile>
<!--
如果设为true将会生成JPA的元素注解
使用annotations from
javax.persistence and org.hibernate.annotations
默认值是false
-->
<ejb3>true</ejb3>
<!-- 指明生成java类的包名 -->
<packagename>entity</packagename>
</componentProperties>
</configuration>
</plugin>
<!-- Hibernate生成实体配置 -->
</plugins>
</build>
2、配置Hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">pass#word1</property>
<property name="hibernate.connection.url">jdbc:mysql://192.168.130.4:3306/any_cms?characterEncoding=utf-8</property>
<property name="hibernate.connection.shutdown">true</property>
</session-factory>
</hibernate-configuration>
关于使用maven hibernate Plugin 生成java实体类使用 maven hibernate Plugin 主要有6种功能 hibernate3:hbm2cfgxml
: Generates hibernate.cfg.xml
hibernate3:hbm2ddl: Generates database schema.
hibernate3: hbm2doc : Generates HTML documentation for database schema
hibernate3:hbm2hbmxml: Generates a set of hbm.xml files
hibernate3:hbm2java: Generates Java classes from set of *.hbm.xml files
hibernate3:hbmtemplate: Renders arbitrary templates against Hibernate Mapping information
这里主要介绍hibernate3:hbm2java这个功能如何使用它生成java实体类
使用这个插件的前置条件是首先配置好hibernate.cfg.xml这个文件配置结果如下所示:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">pass#word1</property>
<property name="hibernate.connection.url">jdbc:mysql://192.168.130.4:3306/any_cms?characterEncoding=utf-8</property>
<property name="hibernate.connection.shutdown">true</property>
</session-factory>
</hibernate-configuration>
然后配置pom文件中的信息如下所示:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>3.1.11</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<configuration>
<components>
<component>
<name>hbm2java</name>
<outputDirectory>src/main/java/</outputDirectory>
<implementation>jdbcconfiguration</implementation>
</component>
</components>
<componentProperties>
<configurationfile>src/main/resources/hibernate.cfg.xml </configurationfile>
<ejb3>true</ejb3>
<packagename>model</packagename>
</componentProperties>
</configuration>
</plugin>
</plugins>
</build>
对POM配置文件一些重要配置进行简单的说明 >hibernate3-maven-plugin
这个主要依赖mysql驱动如果是mysql数据库类型,取决于连接的数据库和cglib包主要用于反向控制
<component><name/><component>是maven插件的goal的名称在maven hibernate插件中主要有hbm2cfgxml、hbm2ddl、hbm2doc、hbm2hbmxml、hbm2java、hbmtemplate等6种。 <outputDirectory/>主要指明要输出的路径 <implementation/>需要实现的hibernate配置主要有configuration、annotationconfiguration、jpaconfiguration、jdbcconfiguration等4种实现方式 Jdbcconfiguration主要用于反向控制数据库引擎通过JDBC连接数据库其他3种详情请参考hibernate tools参考说明书 <componentProperties><configurationfile/></componentProperties>指明hibernate的配置文件路径 <ejb3>true</ejb3>如果设为true将会生成JPA的元素注解使用annotations from javax.persistence and org.hibernate.annotations默认值是false <packagename>指明生成java类的包名<component><name/><component>是maven插件的goal的名称在maven hibernate插件中主要有hbm2cfgxml、hbm2ddl、hbm2doc、hbm2hbmxml、hbm2java、hbmtemplate等6种。 <outputDirectory/>主要指明要输出的路径 <implementation/>需要实现的hibernate配置主要有configuration、annotationconfiguration、jpaconfiguration、jdbcconfiguration等4种实现方式 Jdbcconfiguration主要用于反向控制数据库引擎通过JDBC连接数据库其他3种详情请参考hibernate tools参考说明书 <componentProperties><configurationfile/></componentProperties>指明hibernate的配置文件路径 <ejb3>true</ejb3>如果设为true将会生成JPA的元素注解使用annotations from javax.persistence and org.hibernate.annotations默认值是false <packagename>指明生成java类的包名
上述配置文件配置好后就可以运行maven插件命令了在命令行下面可以直接使用 hibernate3:hbm2java或者在elipse下面选择工程右键选择run as –》run configuration 在goals输入hibernate3:hbm2java
上面的操作是对连接的数据库进行整库的表进行java类生成如果生成部分或者个别的表用上述操作将会重新把所有生成的java类覆盖所有要针对部分或者个别的表生成实体类请在POM文件中增加反转控制配置文件A reveng.xml 这个文件被使用来定制如何通过工具来反向控制数据库引擎如下所示:
<componentProperties>
<revengfile>src/main/resources/hibernate.reveng.xml</revengfile>
</componentProperties>
在componentProperties中增加revengfile标签并指明文件的路径 关于hibernate.reveng.xml的代码示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering
SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
<hibernate-reverse-engineering>
<!--<schema-selection match-schema="TMDCS"/>-->
<!-- <table-filter match-schema="cityhome" match-name=".*"/> -->
<schema-selection match-schema="cityhome" match-table="ACCOUNT"/>
</hibernate-reverse-engineering>
<schema-selection match-schema="cityhome" match-table="ACCOUNT"/>
match-schema=" COMMON_SCHEMA" 数据库拥有着 match-table="ACCOUNT" 表名 支持"CODES_开头的表名match-table="CODES_.*" 上述配置文件起到的作用就是在schema cityhome 中 只生成 ACCOUNT这个表的java实体类其他的都被过滤了 Reveng.xml有很多种反向控制这里只介绍了最简单的一种如果不满足可以参考hibernate tools 查询其他更详细的配置
参考地址:http://wenku.baidu.com/view/121954c0aa00b52acfc7cadb.html
分享到:
相关推荐
总结来说,"Maven插件源码:根据库表生成实体类&根据实体类生成库表"是一个高效且实用的开发工具,它整合了数据库与Java代码的自动化生成,提高了开发效率,降低了错误的可能性。对于大型项目或频繁迭代的系统,这样...
接着,通过命令行或者集成到构建工具(如Maven或Gradle)中运行`Hibernate-tools`,执行反编译数据库模式、生成实体类等任务。 4. **自定义模板** `Hibernate-tools`允许开发者自定义模板,以满足特定的代码风格和...
然后,你需要定义实体类,这些类对应数据库表。比如有一个`User`类: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import ...
新建Hibernate反向生成实体类工程.zip"中,我们主要探讨的是如何利用SSH(Struts2、Spring、Hibernate)框架结合Maven构建工具以及Bootstrap前端框架,来创建一个基于Hibernate的Java Web项目,并通过Hibernate的...
7. **实体类和映射**: Hibernate实体类通常是Java POJO(Plain Old Java Object),通过`@Entity`注解标识,属性用`@Column`注解。`@Id`用于指定主键,`@GeneratedValue`用于自动生成主键值。 8. **查询**: ...
2. **Hibernate配置**: 使用Hibernate,我们需要创建一个`hibernate.cfg.xml`配置文件,其中包含了数据库连接信息、实体类扫描路径等设置。 3. **实体类和映射文件**: Hibernate通过XML映射文件(如`User.hbm.xml`...
**反向工程(Reverse Engineering)** 在这里特指数据库反向工程,即根据现有的数据库表结构自动生成对应的Java实体类。在Hibernate中,这通常由Hibernate Tools完成,它可以读取数据库模式并生成POJO(Plain Old ...
除此之外,Maven还提供了插件如hibernate3-maven-plugin,用于生成数据库表的DDL脚本,或者根据现有数据库生成实体类,这在快速开发或数据库迁移时非常有用。 总的来说,Maven和Hibernate的结合使用使得Java开发...
通过配置,Hibernate可以自动根据实体类生成对应的数据库表。 整合SSH的步骤如下: 1. **环境配置**:首先,确保你的开发环境中已经安装了JDK、Tomcat、Maven或Gradle等必要的工具,并在项目中引入Struts2、Spring...
通过实体类和映射文件,Hibernate能够将Java对象与数据库表对应,实现数据的透明访问。 【SQL Server】是微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。SQL Server提供了高可用性、安全性...
生成实体类是一项常见的任务,尤其是在使用ORM(对象关系映射)框架如Hibernate、MyBatis等时。这些框架允许开发者通过Java对象与数据库交互,而无需编写SQL语句。下面我们将详细探讨如何根据数据库表名生成对应的...
在Java开发中,特别是在基于ORM(对象关系映射)框架如Hibernate或MyBatis的项目中,实体类是必不可少的。它们提供了与数据库交互的数据容器,减少了手动编写这些类的工作量,提高了开发效率。 实体类生成器的基本...
在Java开发中,实体类是核心组成部分之一,它们通常与ORM(对象关系映射)框架如Hibernate或MyBatis一起使用。实体类是数据库表的Java表示,包含对应表字段的属性以及对这些属性的操作,如getter和setter方法。当...
为提高开发效率,开发者通常会使用自动生成实体类的工具,比如本话题提及的"mysql自动生成实体类工具类"。这个工具类可以帮助我们快速构建与MySQL数据库表对应的Java实体类,极大地减少了手动编写代码的工作量。 ...
总结,MyBatis自动生成实体类及实体类映射文件的能力是其强大功能之一,通过MyBatis Generator,开发者可以大大提高开发效率,同时保持代码的整洁和一致性。正确理解和使用MBG,能够显著提升项目的开发速度和质量。
Xdoclet正是这样一个工具,它能够根据实体类上的注释来自动生成包括Hibernate在内的多种类型的文档。本文旨在详细介绍如何使用Xdoclet插件配合Maven来生成Hibernate所需的配置文件。 #### 环境搭建 在开始之前,...
**Hibernate+Maven入门demo详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。Maven则是一个项目管理工具,它管理...
这些工具可以帮助我们快速地根据数据库中的表生成对应的实体类,包括字段、getter和setter方法、注解等,使我们可以更专注于业务逻辑的实现。 配置 Hibernate 反向工程生成 POJO 的步骤如下: 1. **打开 Hibernate...
用户只需创建对应的JDBC连接数据库,配置相应的数据库连接信息,数据表就会根据实体类自动生成。 综上所述,"Spring4+Hibernate4+Maven"是一种常见的Java企业级应用开发模式,它整合了现代Java开发的诸多优势,为...