js简单代码生成器

2012年写的一个js简单代码生成器,通过oracle的建表语句自动生成你想要的java、sql、js代码

如图:

js简单代码生成器_第1张图片

javascript代码:

function $(id){
	return document.getElementById(id);
}

var copytoclip=1;
function HighlightAll(theField) {                                      
	var tempval=eval("document."+theField)      
	tempval=document.all[theField];
	tempval.focus()                                      
	tempval.select()                                      
	if (document.all&©toclip==1){                                      
	therange=tempval.createTextRange()                                      
	therange.execCommand("Copy")}
} 

function trimString(str, wh){
		if(!str.replace){ return str; }
		if(!str.length){ return str; }
		var re = (wh > 0) ? (/^\s+/) : (wh < 0) ? (/\s+$/) : (/^\s+|\s+$/g);
		return str.replace(re, "");
};


//============================================

var C_DefaultValue={
'int' : '0',
'long' : '0',
'float' : '0',
'double' : '0',
'String' : 'null',

'Integer' : 'null',
'Long' : 'null',
'Float' : 'null',
'Double' : 'null',

'Object' : 'null'
};

var C_Context={
'varName_vo' :'vo',
'varName_rs' :'rs',
'varName_stmt' :'pstmt',
'varName_sqlbd' :'sqlbd',

'':''
};



function field2property(inField){

	var field=inField.toLowerCase();
	var prop=field;
	var cutRule;

	for (var i=1;i<3;i++ ){
		cutRule=arguments[i];
		if (!cutRule || cutRule==''){
			break;
		}
		cutRule=cutRule.toLowerCase();
		if (cutRule.indexOf('_')==0 && field.lastIndexOf(cutRule)==field.length- cutRule.length){
			prop=prop.substring(0,prop.length-cutRule.length);
		}else if (field.indexOf(cutRule)==0){
			prop=prop.substring(cutRule.length);
		}

	}

	prop=prop.toLowerCase();

	var tempProps=prop.split('_');
	for (var i=1;i1?true:false;
			var isBig= parseInt(tnumlengths[0])>9?true:false;
			if (isFloat && isBig){
				Me.codeType="double";
			}else if(isFloat && !isBig){
				Me.codeType="float";
			}else if(!isFloat && isBig){
				Me.codeType="long";
			}else{
				Me.codeType="int";
			}
		}else if (otype.indexOf("NUMBER")==0){
			Me.codeType="int";
		}else if (otype.indexOf("INT")==0){
			Me.codeType="int";
		}

		Me.type=Me.codeType.substring(0,1).toUpperCase()+Me.codeType.substring(1);
	};


};




var getTableName=function(sqlString){

	sqlString=trimString(sqlString);
	var lineStrs=sqlString.split("\r");
	firstLine=trimString(lineStrs[0]).toUpperCase();
	if (firstLine.indexOf("CREATE ")<0){
		return "<未知的表名称>";
	}
	var fs=firstLine.indexOf("(");
	if (fs>0){
		firstLine=firstLine.substring(0,fs);
	}

	return firstLine.replace(/(\s+)/g, " ").split(" ")[2];
}

var genFields=function(sqlString){

sqlString=trimString(sqlString);
var rsString='';
var fieldsList=[];
var lineStrs=sqlString.split("\r");

for (i=0;i0){
		fieldsList.push( new Field(lineStr) );
	}
}

return fieldsList;

}




var CodeGen={

"VO_Property":function(){
		var fields=genFields($("sql_zone").value);
		var returnStr=[];

		for (var i=0;i");
	returnStr.push("");
	returnStr.push("");
	
	for (var i=0;i"+fields[i].codeName+":");
	}
	returnStr.push("");
	returnStr.push("
"); returnStr.push(""); return returnStr.join("\r\n"); }, /* 赋空值函数(jsp) */ "setNull":function(){ var fields=genFields($("sql_zone").value); var tableName=getTableName($("sql_zone").value); var returnStr=[]; returnStr.push("//返回函数--空处理"); returnStr.push("function goback(){"); for (var i=0;i


html


	

代码生成器-ardo


[阿杜]
要转换的SQL(建表语句):





















转换结果:



你可能感兴趣的:(技术总结,前端web)