首页 > 代码库 > 一个用于将sql脚本转换成实体类的js代码
一个用于将sql脚本转换成实体类的js代码
以前写过一段C#,苦于编译才能用。这样的小工具最好是用脚本语言来编写,易于执行,也易于修改。
js 代码 convert.js
--------------------------------------------------
String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*$)/g, "");}String.prototype.ltrim=function(){ return this.replace(/(^\s*)/g,"");}String.prototype.rtrim=function(){ return this.replace(/(\s*$)/g,"");}String.prototype.startWith=function(str){ var reg = new RegExp("^" + str); return reg.test(this);}var ConvertCode = { content: "", run: function(){ console.writeline(this.content); if( !this.content) return; var lines = this.content.split(‘\n‘); var ret = ""; for(var i=0; i<lines.length; i++) { var dataInfo = this.convertLine(lines[i]); if(!dataInfo) continue; ret = ret + "///<summary>\n"; ret = ret + "///\n"; ret = ret + "///<summary>\n"; ret = ret + ‘[DBColumn("‘ + dataInfo.column + ‘")]\n‘; ret = ret + "public " + dataInfo.dataType + " " + dataInfo.name + "{get;set;}\n\n"; } return ret; }, convertLine: function(line){ line = line.trim(); if(line.length == 0) return null; var tokens = line.split(/\s+/); if(tokens.length <= 1) return null; return { column: tokens[0], name: this.toNormalName(tokens[0]), dataType: this.toDataType(tokens[1]) }; }, toNormalName: function(raw) { var tokens = raw.split(‘_‘); var ret = ""; for(var i=0; i<tokens.length; i++) { ret = ret + tokens[i].substr(0,1).toUpperCase() + tokens[i].substr(1); } return ret; }, toDataType: function(d) { if(!d) return null; if(d.startWith("varchar") || d.startWith("char")) return "string"; if(d.startWith("int")) return "int"; if(d.startWith("number")) return "decimal"; if(d.startWith("date")) return "DateTime"; return null; }}
html 代码用于调用它
----------------------------------
<html><head> <meta charset=‘gbk‘ /> <script type=‘text/javascript‘ src="convert.js"></script> <script language="javascript" type=‘text/javascript‘> var doparse = function(){ var parser = ConvertCode; parser.content = document.getElementById(‘content‘).value; var result = parser.run(content); document.getElementById(‘divResult‘).value = result; console.writeline( document.getElementById(‘divResult‘).value); } </script></head><body> <div><input type="button" value="转换" onclick="javascript:doparse();" style="width:50px; height: 30px;"/></div> <div style="float:left; width: 500px;"> <textarea id=‘content‘ style="width:500px; height:600px;"></textarea> </div> <div style="float:left; width:500px; margin-left:30px;" > <textarea id="divResult" style="width:500px; height:600px;"></textarea> </div> </body></html>
一个用于将sql脚本转换成实体类的js代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。