`
fackyou200
  • 浏览: 309585 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

maven根据hibernate生成是实体类

 
阅读更多

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插件源码:根据库表生成实体类&根据实体类生成库表

    总结来说,"Maven插件源码:根据库表生成实体类&根据实体类生成库表"是一个高效且实用的开发工具,它整合了数据库与Java代码的自动化生成,提高了开发效率,降低了错误的可能性。对于大型项目或频繁迭代的系统,这样...

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    接着,通过命令行或者集成到构建工具(如Maven或Gradle)中运行`Hibernate-tools`,执行反编译数据库模式、生成实体类等任务。 4. **自定义模板** `Hibernate-tools`允许开发者自定义模板,以满足特定的代码风格和...

    使用Maven配置Hibernate5

    然后,你需要定义实体类,这些类对应数据库表。比如有一个`User`类: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import ...

    [SSH+Maven+Bootstrap视频教程]_12. 新建Hibernate反向生成实体类工程.zip

    新建Hibernate反向生成实体类工程.zip"中,我们主要探讨的是如何利用SSH(Struts2、Spring、Hibernate)框架结合Maven构建工具以及Bootstrap前端框架,来创建一个基于Hibernate的Java Web项目,并通过Hibernate的...

    maven+hibernate

    7. **实体类和映射**: Hibernate实体类通常是Java POJO(Plain Old Java Object),通过`@Entity`注解标识,属性用`@Column`注解。`@Id`用于指定主键,`@GeneratedValue`用于自动生成主键值。 8. **查询**: ...

    Maven hibernate project

    2. **Hibernate配置**: 使用Hibernate,我们需要创建一个`hibernate.cfg.xml`配置文件,其中包含了数据库连接信息、实体类扫描路径等设置。 3. **实体类和映射文件**: Hibernate通过XML映射文件(如`User.hbm.xml`...

    使用Maven Hibernate5 之反向工程

    **反向工程(Reverse Engineering)** 在这里特指数据库反向工程,即根据现有的数据库表结构自动生成对应的Java实体类。在Hibernate中,这通常由Hibernate Tools完成,它可以读取数据库模式并生成POJO(Plain Old ...

    maven hibernate 注解

    除此之外,Maven还提供了插件如hibernate3-maven-plugin,用于生成数据库表的DDL脚本,或者根据现有数据库生成实体类,这在快速开发或数据库迁移时非常有用。 总的来说,Maven和Hibernate的结合使用使得Java开发...

    strtus2+Spring+hibernate整合通过实体类生成数据库表

    通过配置,Hibernate可以自动根据实体类生成对应的数据库表。 整合SSH的步骤如下: 1. **环境配置**:首先,确保你的开发环境中已经安装了JDK、Tomcat、Maven或Gradle等必要的工具,并在项目中引入Struts2、Spring...

    springmvc+maven+hibernate+sqlsever

    通过实体类和映射文件,Hibernate能够将Java对象与数据库表对应,实现数据的透明访问。 【SQL Server】是微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。SQL Server提供了高可用性、安全性...

    生成实体类

    生成实体类是一项常见的任务,尤其是在使用ORM(对象关系映射)框架如Hibernate、MyBatis等时。这些框架允许开发者通过Java对象与数据库交互,而无需编写SQL语句。下面我们将详细探讨如何根据数据库表名生成对应的...

    Java实体类生成器(源码)

    在Java开发中,特别是在基于ORM(对象关系映射)框架如Hibernate或MyBatis的项目中,实体类是必不可少的。它们提供了与数据库交互的数据容器,减少了手动编写这些类的工作量,提高了开发效率。 实体类生成器的基本...

    java实体类生成工具

    在Java开发中,实体类是核心组成部分之一,它们通常与ORM(对象关系映射)框架如Hibernate或MyBatis一起使用。实体类是数据库表的Java表示,包含对应表字段的属性以及对这些属性的操作,如getter和setter方法。当...

    mysql自动生成实体类工具类

    为提高开发效率,开发者通常会使用自动生成实体类的工具,比如本话题提及的"mysql自动生成实体类工具类"。这个工具类可以帮助我们快速构建与MySQL数据库表对应的Java实体类,极大地减少了手动编写代码的工作量。 ...

    mybatis自动生成实体类及实体类映射文件

    总结,MyBatis自动生成实体类及实体类映射文件的能力是其强大功能之一,通过MyBatis Generator,开发者可以大大提高开发效率,同时保持代码的整洁和一致性。正确理解和使用MBG,能够显著提升项目的开发速度和质量。

    用maven的xdoclet插件t生成hibernate配置文件

    Xdoclet正是这样一个工具,它能够根据实体类上的注释来自动生成包括Hibernate在内的多种类型的文档。本文旨在详细介绍如何使用Xdoclet插件配合Maven来生成Hibernate所需的配置文件。 #### 环境搭建 在开始之前,...

    HIbernate+Maven入门demo

    **Hibernate+Maven入门demo详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。Maven则是一个项目管理工具,它管理...

    hibernate自动生成Pojo

    这些工具可以帮助我们快速地根据数据库中的表生成对应的实体类,包括字段、getter和setter方法、注解等,使我们可以更专注于业务逻辑的实现。 配置 Hibernate 反向工程生成 POJO 的步骤如下: 1. **打开 Hibernate...

    spring4+hibernate4+maven

    用户只需创建对应的JDBC连接数据库,配置相应的数据库连接信息,数据表就会根据实体类自动生成。 综上所述,"Spring4+Hibernate4+Maven"是一种常见的Java企业级应用开发模式,它整合了现代Java开发的诸多优势,为...

Global site tag (gtag.js) - Google Analytics