代码生成器 or 系统规划

        后台增删改查搞多了也就没啥意思了,感觉特别没有成就感,心里想着业务时间趁搞个后台的平台,达到什么目的呢?就是开发人员很快开发一个模块,不用再增删改查上浪费时间,该平台该提供什么能力呢?

        代码生成器:这个肯定要有的,定义好表结构然后输出结果是controller,service,dao,mybatis配置文件,前台页面JS等

        实现方案:  1)构建业务数据元信息;定义一个实体类注解,和类属性的注解,像下面这种,不过这种是写死的,一般都把这种元数据信息放到数据库表里,

/**
 * 类注解
 * 代码生成器专用
 *
 */
@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Rule {
	/** 是否需要分页, 默认true */
	public boolean needPage() default true;
	/** 是否需要全选, 默认true */
	public boolean needCheckAll() default true;
	/** 是否真删除, 默认false */
	public boolean realDelete() default false;
	/** 是否有高级搜索, 默认true */
	public boolean needSearch() default true;
}
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ColumnRule {

	public enum FieldType {
		/** 普通文本框生成表单元素为<input type='text'> */
		TEXT, 
		/** 单选框 */
		RADIO,
		/** 下拉列表 */
		SELECT, 
		/** 文本域 */
		TEXTAREA, 
		/** 隐藏域 */
		HIDDEN, 
		/** 复选框 */
		CHECKBOX, 
		/**
		 * 选择器类型,该参数需要配合SelectorType
		 * 参数来使用,用于标明生成何种类型的选择器例如:UNIT表示生成公司选择器
		 */
		SELECTOR,
		/**附件类型元素,如果选择此类型表示生成的元素为附件标签*/
		FILE, 
		/**日期类型,生成的FORM元素为日期类插件*/
		DATE
	};

	/** 列类型, 默认TEXT */
	public FieldType fieldType() default FieldType.TEXT;

	public enum SelectorType {
		/**人员选择器*/
		USER, 
		/**公司选择器*/
		UNIT, 
		/**部门选择器*/
		DEPT,
		/**公司部门复合选择器*/
		ORG
	};

               2)配置构建方案,我们可以Bean上配置这个注解,也可以直接写到表里

@Component
@Entity
@Table(name = "LAS_CASE_RISK_TYPE")
@Rule(defaultOrderField = "createTime", formType = Rule.FormType.MUTI, realDelete = true, needSearch = true, queryFlags = {}, busiName = "CaseRiskType")
public class CaseRiskTypeBean extends CMCCBaseEntityBean {
	private static final long serialVersionUID = -8412045411199632816L;

	@ColumnRule(canFilter = true, canSearch = true, formOrderNum = 1, subLen = 10, listOrderNum = 1, maxLen = 20, columName = "名称")
	private String name;
	@ColumnRule(canFilter = true, canSearch = true, formOrderNum = 2, subLen = 10, listOrderNum = 2, maxLen = 20, columName = "编号")
	private String code;
	@ColumnRule(canFilter = true, canSearch = true, colWidth = 35, fieldType = ColumnRule.FieldType.TEXTAREA, formOrderNum = 3, listOrderNum = 3, inOneRow = true, isRequired = false, maxLen = 1500, subLen = 50, columName = "描述信息")
	private String remark;
	

  3)根据方案和数据表信息生成代码,我们可以通过string拼接的方式,拼接成对应的字符写到文件里或者通过freemaker的工具类,把模板维护在数据库里或xml里,这样直接生成代码,当然MybatisGenerator也提供生成代码生成器的能力(仅限于配置文件实体类等信息)

 

数据字典国际化:提供数据字典包含业务数据国际化的服务,就是业务数据的国际化

前端组件:代码生成器配合前端生成一起必要的组件,比如选择树,弹出框等

反正还没开始做,方案先定好把

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值