AppFuse代码生成器(AMP)

AMP(appfuse maven plugin)

创建一个javaBean

package org.appfuse.model;

import javax.persistence.Entity;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Column;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

@Entity
public class Persion extends BaseObject {

       private Long id ;
       private String firstName ;
       private String lastName ;

       @Id
       @GeneratedValue(strategy = GenerationType.AUTO)
       public Long getId() {
             return id ;
      }

       public void setId(Long id) {
             this.id = id;
      }

       @Column(name = "first_name" , length = 50)
       public String getFirstName() {
             return firstName ;
      }

       public void setFirstName(String firstName) {
             this.firstName = firstName;
      }

       @Column(name = "last_name" , length = 50)
       public String getLastName() {
             return lastName ;
      }

       public void setLastName(String lastName) {
             this.lastName = lastName;
      }

       /**
       * @see java.lang.Object#equals(Object)
       */
       public boolean equals(Object object) {
             if (!(object instanceof Persion)) {
                   return false ;
            }
            Persion rhs = (Persion) object;
             return new EqualsBuilder().append(this. firstName, rhs.firstName)
                        .append( this.id , rhs.id).append( this.lastName , rhs.lastName)
                        .isEquals();
      }

       /**
       * @see java.lang.Object#hashCode()
       */
       public int hashCode() {
             return new HashCodeBuilder(248915313, 1539783955)
                        .append( this.firstName ).append(this. id).append( this.lastName )
                        .toHashCode();
      }

       /**
       * @see java.lang.Object#toString()
       */
       public String toString() {
             return new ToStringBuilder(this).append( "lastName", this.lastName )
                        .append( "id", this .id ).append("firstName", this.firstName )
                        .toString();
      }
}

在命令行下运行mvn appfuse:gen -Dentity=Persion,这个POJO的CRUD代码即被生成,并自动添加到项目中。
注意:默认的类名是在 ${groupId}.model.Persion下面,如果想指定一个子包名,需要指定全部路径,不如生成${groupId}.subPackage.model.Persion.   mvn appfuse:gen -Dentity={groupId}.subPackage.model.Persion

hibernate.cfg.xml 添加了Persion 对应的mapping
< hibernate-configuration >
      < session-factory   >
          < mapping   class   = "org.appfuse.model.User"   />
          < mapping   class   = "org.appfuse.model.Role"   />
          < mapping   class   = "com.mapbar.model.Persion"   />
      </ session-factory   >
</ hibernate-configuration >

接下来根据这个POJO生成数据表。
在命令行下运行mvn compile hibernate3:hbm2ddl。 
此时数据库中添加了此POJO对应的表。

mvn appfuse:gen-model是appfuse maven plugin(简称AMP)中的一个命令,用以从数据库反向工程生成pojo。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值