`
dejish
  • 浏览: 4564 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

主要类说明 代码生成

 
阅读更多
com.gzza.framework.utils.build.Validate生成jsp时字段校验,有以下几种校验
Validate.NOT_NULL //不能为空
Validate.INT //整数,可为0或负数
Validate.POSITIVE_INT //大于0的正整数
Validate.NUMBER //数值,可有小数点

com.gzza.framework.utils.build.Input生成jsp时字段输入类型,有以下几种类型
Input.TEXT //普通的input=text,为默认类型
Input.TEXTAREA //textarea
Input.KINDEDITOR //富文本输入,使用kindeditor
Input.DATE //普通的input=text,点击选择日期
Input.RADIO //radio
Input.SELECT //select
Input.AUTOCOMPLETE //自动完成输入框
Input.HIDDEN //隐藏的,input=hidden
Input.NONE //不在添加,修改页面出现


com.gzza.framework.utils.build.Display是一个注解类,该注解用在实体类属性下,用来实现三种功能
1.表格数据列表显示
2.通用的增删改查代码和jsp生成
3.国际化
zhValue //该字段的中文名称,必需
validate //该字段在添加、修改时输入的校验,默认是可以为空
input //该字段在添加、修改时的输入类型
clazz //用于用long类型的ID关连的对象,Clazz指定关连的类,需要与clazzDisplayField配套使用
clazzDisplayField //用于用long类型的ID关连的对象,Clazz指定关连的类的属性
tdStyle //该字段在表格显示时的特别样式
tdExpression ////该字段在表格显示时的需要计算才能出来的样式
autoCompleteNotMatchClear //该字段是自动完成类型时,如果输入的文本没有找到对应的结果时,是否删除已输入的文本,默认删除
list //该字段的input如果是RADIO 时,指定radio的内容,需要与listDefault配套使用
listDefault //该字段的input如果是RADIO时,如果还没有选中radio, 就默认选中listDefault指定的
dateFormat //该字段input如果是DATE时,指定日期格式,默认是yyyy-MM-dd
system //该字段哪个系统可用,默认为空,所有系统可用
scale //该字段如果是数值类型,在表格中显示时,scale可用来格式小数点显示位数
seq //该字段在表格显示时的顺序,默认按类中属性的顺序
reference //该字段如果是对象类型,用于指定需要显示对象的哪个字段,如果需要显示多个字段用逗号隔开
display //该字段在表格列表中是否显示,默认为显示
query //该字段是否做为查询条件,默认为不作为查询条件
readOnlyWhenEidt //该字段在编辑时为只读


下面以一个学生信息类,通过配置Display注解,使用Build工具生成学生信息增删改查的代码
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import com.gzza.framework.jdo.StudentEntity;
import com.gzza.framework.utils.build.Display;
import com.gzza.framework.utils.build.Excel;
import com.gzza.framework.utils.build.Input;
import com.gzza.framework.utils.build.Validate;

@Entity
@Table(name = "collection_test_student")
@Excel(name = "studentInfo") //列表可导出excel
public class Student extends StudentEntity{
	private static final long serialVersionUID = 7227301500886049495L;

	@Column(name = "NAME")
        /** 
         * zhValue = "学生名称" 为该字段指定中文,必需
         * query = true 作为查询条件
         * validate = Validate.NOT_NULL 添加、修改时,该字段不可为空
         * input = Input.TEXT 添加、修改时,该字段为普通input=text输入框
         */
	@Display(query = true, zhValue = "学生名称", validate = Validate.NOT_NULL, input = Input.TEXT)
	private String name;

	@Column(name = "AGE")
        /**
         * zhValue = "年龄" 为该字段指定中文,必需
         * validate = Validate.POSITIVE_INT 添加、修改时,该字段可以为空,但如果有值的话必须是正整数
         * 不指定input,默认为Input.TEXT
         */
	@Display(zhValue = "年龄", validate = Validate.POSITIVE_INT)
	private Integer age;

	@Column(name = "SCORE")
        /**
         * zhValue = "成绩" 为该字段指定中文,必需
         * validate = Validate.NOT_NULL + "," + Validate.NUMBER 添加、修改时,该字段不可为空,且只能为数值
         * scale = 2 在表格中显示成绩时,格式化小数点为2位
         * tdStyle = "width: 300px;{if {@score}<60}font-size:18px;color: red;{/if}在表格中显示时,指定显示宽度为300px;且分数小于60分时,用18号字体红色显示
         */
	@Display(zhValue = "成绩", validate = Validate.NOT_NULL + "," + Validate.NUMBER, scale = 2, tdStyle = "width: 300px;", tdExpression = "{if {@score}<60}font-size:14px;color: red;{/if}")
	private Double score;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "CREATE_TIMESTAMP")
        /**
         * zhValue = "入学日期" 为该字段指定中文,必需
         * validate = Validate.NOT_NULL 添加、修改时,该字段不可为空
         * tdStyle = "width:100px" 在表格中显示时,指定显示宽度为100px
         * 日期还可指定dateFormat
         */
	@Display(zhValue = "入学日期", validate = Validate.NOT_NULL, tdStyle = "width:100px")
	private Date createTime = new Date();

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "TEACHER_ID")
        /**
         * reference = "name" 引用Tearcher类里的name字段,多个用逗号隔开
         * 对象引用类型时,zhValue可不填,不填的话采用Tearcher类里的name字段的zhValue,如果填的话,以填的zhValue为准
         * query = true 作为查询条件
         * input = Input.SELECT 在添加、修改时,把所有的Tearcher放在一个select里选择
         * validate = Validate.NOT_NULL 在添加、修改时,必须选择一个Tearcher
         */
	@Display(reference = "name", query = true, input = Input.SELECT, validate = Validate.NOT_NULL)
	private Tearcher tearcher;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CLASS_ID")
        /**
         * zhValue = "我的班级" 为该字段指定中文
         * reference = "name,remark" 引用Clazz 类里的name,remark字段
         * query = true 作为查询条件
         * input = Input.AUTOCOMPLETE 在添加、修改时,用自动完成控件选择老师
         * validate = Validate.NOT_NULL 在添加、修改时,必须选择一个Clazz 
         * seq = 200 指定了该字段中表格中的顺序,为200时,显示在200/10=20列
         */
	@Display(zhValue = "我的班级", reference = "name,remark", query = true, input = Input.AUTOCOMPLETE, validate = Validate.NOT_NULL, seq = 200)
	private Clazz clazz;
        
	@Column(name = "TYPE")
        /**
         * zhValue = "类型" 为该字段指定中文
         * display = false 该字段不在表格里显示
         * input = Input.NONE 在添加、修改页面不出现
         */
	@Display(zhValue = "类型", display = false, tdStyle = "width:100px", input = Input.NONE)
	private Integer type;

	@Column(name = "REMARK")
        /**
         * zhValue = "学生备注" 为该字段指定中文
         * display = false 该字段表格里不显示
         */
	@Display(zhValue = "学生备注", display = false)
	private String remark;

	@Column(name = "ENABLED")
        /**
         * zhValue = "是否启用" 为该字段指定中文
         * query = true 作为查询条件
         * tdStyle = "width:100px" 在表格中显示时,指定显示宽度为100px
         * input = Input.RADIO 在添加、修改时,为input=radio
         * list = "1:enable,0:disable" radio的内容,1为enalbe,0为disable,显示的enable和disable都是国际化过后的
         * listDefault = "1" 该字段在添加时默认的选中项
         */
	@Display(query = true, zhValue = "是否启用", tdStyle = "width:100px", input = Input.RADIO, list = "1:enable,0:disable", listDefault = "1")
	private int enabled = 1;

	public Integer getType(){
		return type;
	}

	public void setType(Integer type){
		this.type = type;
	}

	public String getRemark(){
		return remark;
	}

	public void setRemark(String remark){
		this.remark = remark;
	}

	public String getName(){
		return name;
	}

	public void setName(String name){
		this.name = name;
	}

	public Integer getAge(){
		return age;
	}

	public void setAge(Integer age){
		this.age = age;
	}

	public Double getScore(){
		return score;
	}

	public void setScore(Double score){
		this.score = score;
	}

	public Date getCreateTime(){
		return createTime;
	}

	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	public Tearcher getTearcher(){
		return tearcher;
	}

	public void setTearcher(Tearcher tearcher){
		this.tearcher = tearcher;
	}

	public Clazz getClazz(){
		return clazz;
	}

	public void setClazz(Clazz clazz){
		this.clazz = clazz;
	}

	public Integer getStatus(){
		return status;
	}

	public void setStatus(Integer status){
		this.status = status;
	}

	public int getEnabled(){
		return enabled;
	}

	public void setEnabled(int enabled){
		this.enabled = enabled;
	}

}
分享到:
评论

相关推荐

    asp.net 代码生成器 .NET代码生成器 C#代码生成器 三层源代码生成器

    asp.net 代码生成器 【基本说明】 1、能够生成三层模式操作的所有后台代码,简单的SQL Server 2005数据库操作。 2、生成的代码包括了 MODEL、BLL、DAL、DBHelper、Config 生成的代码内有详细注释可提供参考。 ...

    代码生成器 代码生成器

    代码生成器是一款强大的工具,主要用于自动化编程过程中重复性的工作,比如根据数据库结构自动生成与之对应的C#代码或SQL语句。这样的工具大大提升了开发效率,减少了人为错误,并且能够保持代码的一致性和规范性。 ...

    SQL代码生成器_sql代码生成_sqlserver_

    在压缩包中的"SQL代码生成器"可能是该工具的安装程序或执行文件,为了充分利用这个工具,你需要将其解压并按照说明进行安装和配置。同时,熟悉SQL Server的基本语法和操作是必不可少的,这样你才能更好地理解和使用...

    SSH代码生成器

    SSH代码生成器是一种工具,主要用于自动化生成基于SSH(Spring、Struts2和Hibernate)框架的Web应用程序的基础代码。SSH框架是Java开发中的一个经典组合,它极大地提高了开发效率,简化了项目的构建过程。SSH框架的...

    UC广播代码生成器 51vv广播代码生成器

    标题中的“UC广播代码生成器 51vv广播代码生成器”指的是两个不同的工具,用于创建特定的广播代码。在IT行业中,"广播代码"通常指的是应用或系统间进行通信时使用的信号或指令,特别是在Android操作系统中。UC广播...

    ASCET代码生成简易说明.pdf

    ### ASCET代码生成简易说明 #### 一、ASCET代码生成概述 ASCET是一种用于嵌入式系统开发的建模工具,它支持从模型到代码的自动化生成过程。本篇文章将详细阐述ASCET代码生成的基本原理及其配置流程,旨在帮助读者...

    Migcode代码生成器使用说明书

    ### Migcode代码生成器使用说明书知识点详解 #### 一、Migcode代码生成器简介 Migcode代码生成器是一款由彭仁夔及其团队开发的专业工具,旨在为开发者提供高效便捷的代码生成服务。该工具支持从数据模型(如数据库...

    java/.net实体类代码生成器

    Java 和 .NET 实体类代码生成器是一种工具,它能够极大地提高开发效率,尤其是在处理大量数据库操作时。这种工具能够自动从SQL Server数据库中提取表结构,并根据这些表的信息生成对应的Java或.NET实体类。实体类是...

    C#代码生成器(model类等都可以自动生成)

    C#代码生成器是一种工具,它能够自动化地创建C#编程中的特定代码,例如model类。这类工具极大地提高了开发效率,减少了程序员手动编写重复性代码的时间。在软件开发过程中,尤其是当涉及到与数据库交互时,model类的...

    代码生成器代码生成器.zip

    对于基于数据库的应用,代码生成器可以从数据库模式中提取信息,生成对应的实体类、数据访问层(DAO)、服务层和控制器层代码,极大地简化了数据驱动应用的开发。 7. **前后端同步**: 在现代Web开发中,前端和...

    javaweb代码生成器源码

    3. 代码生成:根据数据库中的表结构,代码生成器会自动生成对应的服务、模型、DAO和Mapper接口及实现类。这通常包括实体类(model)、接口定义(services和DAO)、接口实现(services的实现类和DAO的实现类)以及SQL...

    动软代码生成 添加 Model注释列及文档字段说明

    "动软代码生成"是一款这样的工具,它专注于提高开发效率,通过预定义的模板自动生成诸如Model类等代码。在这个场景中,我们主要关注的是如何为Model添加注释列以及文档字段说明。 注释在编程中扮演着至关重要的角色...

    c#写的源代码生成器源码文件及附有设计说明书

    《C#源代码生成器与设计说明书解析》 在IT行业中,提高开发效率是至关重要的。为此,程序员们经常利用代码生成器来自动化创建常见的代码结构,如数据访问层(DAL)、模型层(Model)等。本文将详细介绍一款基于C#...

    根据数据库sql生成java代码代码生成器

    1、本地执行代码生成工具,可生成controller、service、repository、entity、mapper、mapper.xml的增删改查代码。生成的文件复制到项目路径中,修修改改即可实现大部分CRUD功能。 2、工具不需要导入到项目中,本地...

    Mybatis代码生成工具

    而"Mybatis代码生成工具"则是为了进一步提高开发效率,帮助开发者快速生成Mybatis相关的Java模型类(Model)、XML映射文件等,从而减少手动编写这些重复性工作的需求。 在开发过程中,Mybatis代码生成工具通常基于...

    动软代码生成器 动软代码生成器

    动软代码生成器的核心功能在于根据数据库模式或者设计模型自动生成符合规范的源代码,包括但不限于实体类、数据访问层、业务逻辑层以及Web界面等。 1. **代码生成原理**: - 代码生成器首先需要获取数据结构信息,...

    generator代码生成器

    在Java开发中,代码生成器是一种高效的工具,它能够帮助开发者快速生成常见的业务代码,如增删改查操作、实体类等。"generator java代码一键生成"正是这样的一个神器,旨在提升开发效率,减少重复劳动,使开发者能够...

    C# 实体类代码生成器,支持简单编程

    实体类代码生成工具简述: 1.支持远程数据库连接。默认sa登录 2.支持批量生成 3.支持表跟视图的相关代码生成 4.支持代码生成的基本语法支持,支持命名空间变量 5.代码优化,实体文件生成支持多线程,加快文件创建...

    C#.NET 项目代码生成器-从数据库直接生成三层架构基本代码

    代码生成器 只需要简单设计就可以直接生成 适合三层架构的代码框架,您也可以只生成实体类! 使用简单方便 生成速度快捷 安全 经大量测试已经 趋于完善! 适合NET开发的程序员快速搭建项目架构 快速开发小型项目! ...

    解决动软代码生成器v2.78 mysql下生成数据库文档时没有备注的问题

    在IT行业中,数据库管理和开发是至关重要的环节,而代码生成工具则是提高开发效率的有效手段。动软代码生成器是一款常见的自动化代码生成工具,它能够帮助开发者快速生成基于数据库的业务逻辑代码,减轻手工编写的...

Global site tag (gtag.js) - Google Analytics