Vim实战——利用vim生成EntityBean(下)

本文介绍了一种将数据库字段转换为Java实体类属性的方法,包括数据类型映射及属性修饰符的添加,并展示了具体的转换步骤和示例。

接下来要做的就是将 ^I 替换成空格,将数据库中的数据类型替换成 java 中的数据类型

输入 :%s/^I/ /g                                         // ^I 替换成空格

       :%s/varchar2(1)/char/g                     // varchar2(1) 替换成 char

       :%s/number(10,4)/Double/g            // number(10,4) 替换成 Double

      :%s/number(19) /Long/g                  // number(19) 替换成 Long

      : %s/varchar2(32)/String/g            // varchar2(32) 替换成 String

现在再看一下,还有几个 varchar2 ()类型的没有替换,不管了全部替换成 String 类型

输入 : %s/varchar2(\d\{0,})/String/g              // 将剩下的 varchar2 ()都替换成 String

好了,现在剩下扫尾工作了,将属性前面加上限制条件 private, 后面加上 ;

输入 :g/./if line(“.”)%2= =0|s/^/private /g       // 属性前面加上限制条件 private

       : g/./if line(“.”)%2= =0|s/$/;/g                 // 属性后面加上 ;

       :%s/^@/\r@/g                                        // 每两行加一行空行

 

@Column(name="OBJECT_RRN")

private Long objectRrn;

 

@Column(name="ORG_RRN")

private Long orgRrn;

 

@Column(name="IS_ACTIVE")

private char isActive;

 

@Column(name="CREATED")

private date created;

 

@Column(name="CREATED_BY")

private Long createdBy;

 

@Column(name="UPDATED")

private date updated;

 

@Column(name="UPDATED_BY")

private Long updatedBy;

 

@Column(name="LOCK_VERSION")

private Long lockVersion;

 

@Column(name="MATERIAL_ID")

private String materialId;

 

@Column(name="NAME")

private String name;

 

@Column(name="DESCRIPTION")

private String description;

 

@Column(name="COMMENTS")

private String comments;

 

@Column(name="MATERIAL_CATEGORY")

private String materialCategory;

 

@Column(name="MATERIAL_TYPE")

private String materialType;

 

@Column(name="BOM_RRN")

private Long bomRrn;

 

@Column(name="REFERNECT_PRICE")

private Long refernectPrice;

 

@Column(name="SPECIFICATION")

private String specification;

 

@Column(name="MODEL")

private String model;

 

@Column(name="WEIGHT")

private Long weight;

 

@Column(name="VOLUME")

private Long volume;

 

@Column(name="INVENTORY_UOM")

private String inventoryUom;

 

@Column(name="PURCHASE_UOM")

private String purchaseUom;

 

@Column(name="QTY_MIN")

private Double qtyMin;

 

@Column(name="QTY_MAX")

private Double qtyMax;

 

@Column(name="INVENTORY_PROPERTY")

private String inventoryProperty;

 

@Column(name="ABC_CATEGORY")

private String abcCategory;

 

@Column(name="IS_LOT_CONTROL")

private char isLotControl;

 

@Column(name="LOT_TYPE")

private String lotType;

 

@Column(name="IS_JIT")

private char isJit;

 

@Column(name="IS_VIRTUAL")

private char isVirtual;

 

@Column(name="IS_PURCHASE")

private char isPurchase;

 

@Column(name="IS_MRP")

private char isMrp;

 

@Column(name="IS_ISSUE_MO")

private char isIssueMo;

 

@Column(name="STOCK_CAPABILITY")

private Long stockCapability;

 

@Column(name="QTY_INITIAL")

private Double qtyInitial;

 

@Column(name="QTY_IN")

private Double qtyIn;

 

@Column(name="QTY_OUT")

private Double qtyOut;

 

@Column(name="QTY_DIFFERENCE")

private Double qtyDifference;

 

@Column(name="QTY_TRANSIT")

private Double qtyTransit;

 

@Column(name="QTY_ALLOCATION")

private Double qtyAllocation;

 

@Column(name="REFERENCE_DOC")

private String referenceDoc;

 

@Column(name="PRODUCTION_CYCLE")

private String productionCycle;

 

@Column(name="WORKCENTER_RRN")

private Long workcenterRrn;

 

@Column(name="BUYER_ID")

private String buyerId;

 

@Column(name="PLANNER_ID")

private String plannerId;

 

@Column(name="KEEPER_ID")

private String keeperId;

 

@Column(name="IQC_ID")

private String iqcId;

 

@Column(name="STAND_COST")

private Long standCost;

 

@Column(name="ACTRUAL_COST")

private Long actrualCost;

 

@Column(name="BOM_VERSION")

private Long bomVersion;

 

@Column(name="STATE")

private String state;

 

@Column(name="BOM_ID")

private String bomId;

 

@Column(name="PUR_INV_CONVERSION")

private Double purInvConversion;

 

@Column(name="IS_SALE")

private char isSale;

 

@Column(name="IS_PRODUCT")

private char isProduct;

 

@Column(name="STAND_TIME")

private Long standTime;

 

@Column(name="PROCESS_NAME")

private String processName;

 

@Column(name="QTY_MIN_PRODUCT")

private Double qtyMinProduct;

 

@Column(name="IS_SHARE")

private char isShare;

 

 

放到 Eclipse 中去看一下效果吧

 

 

怎么样还不错吧?如果你其他什么好的方法,欢迎交流http://yadsun.iteye.com/

 

返回(上)

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值