简介
我一般数据表结构是用PowerDesigner来建, 建完就需要建Model也即一堆javaBean, 如果没有辅助工具挨个建要累死, 于是用python写了这样一个辅助小工具, 仅需复制下PowerDesigner中Preview中的sql语句, 然后双击下工具就直接生成出所有数据表的javaBean了
效果如下
分析
原理很简单, 解析SQL语句用了正则表达式, 将关键信息封装起来, 解析完返回后即可以进行拼凑成JavaBean了
SQL的解析如下, 其中get_tables即解析函数, 解析完最终返回一个Table对象的列表, 每张表对应一个Table对象, Table对象中有个Field列表, Field其实就是表里面的列
class Field:
def __init__(self, name='', type='', comment=''):
self.name = name
self.type = type
self.comment = comment
self.is_not_null = False
self.is_key = False
self.is_auto_increase = False
def __repr__(self):
return "Field(name=%s, type=%s, comment=%s)" % (self.name, self.type, self.comment)
class Table:
def __init__(self):
self.name = ''
self.comment = ''
self.fields = []
def __repr