自动生成resultMap文件源码
这个是在做ssh项目做的一个小工具,为了能提高一点效率(好吧,主要还是懒),这次跟上个生成mapping文件的方式是一样,没多大区别,还是用jQuey做的,
先看下效果图:
红色的框写入需要生成的字段(复制vo类就行了)
<body>
<div style="overflow:hidden;">
<h1 style="text-align:center">自动生成resultMap文件源码</h1>
<div style="margin:0px auto;width:1500px;">
@* 左 *@
<div style="width:650px;height:650px;display:inline-block;border:1px #ff0000 solid ">
<textarea id="count" style="width:640px;height:640px;overflow:hidden;"></textarea>
</div>
@*中*@
<div style="width:100px;height:650px;display:inline-block;overflow:hidden;">
<button style="width:98px;" onclick="ooo()">生成源码</button>
<span>id名</span><input value="dfzx" id="Database" style="width:90px;margin-top:10px;" />
<span>类名</span><input id="className" value="com.wyc.vo" style="width:90px;margin-top:10px;" />
</div>
@*右*@
<div style="width:650px;height:650px;display:inline-block;border:1px #ffd800 solid;overflow:hidden;"><textarea id="hbmxml" style="width:640px;height:640px;color:#000000"></textarea></div>
</div>
</div>
<script src="~/Content/bootstrap-3.3.7-dist/js/jquery-2.0.3.min.js"></script>
<script type="text/javascript">
//首字母大写
var reg = /\b(\w)|\s(\w)/g;
function replaceReg(reg, str) {
//str = str.toLowerCase();
return str.replace(reg, function (m) { return m.toUpperCase() })
}
function ooo() {
var tab2 = "\t";
var tab3 = "\t" + "\t" + "\t";
//更换数据类型
var oos = dateType()
//分割每个字段
var kkk = oos.split(";");
//获取前半段语句
var sql = first();
//拼接语句
for(var i=0 ;i<kkk.length-1;i++){
//分割
var property = kkk[i].split(" ");
//首字母大写
var initial = replaceReg(reg, property[2]);
if (i == 0) {
// <id column="RTableIndentID" jdbcType="INTEGER" property="rtableindentid" />
sql += tab2 + "<id column=\"" + initial + "\" jdbcType=\"" + property[1] + "\" property=\"" + property[2] + "\"/>" + "\n"
} else {
sql += tab2 + "<result column=\"" + initial + "\" jdbcType=\"" + property[1] + "\" property=\"" + property[2] + "\"/>" + "\n"
}
}
sql += "</resultMap>";
//给文本框赋值
$("#hbmxml").val(sql);
}
//前半部分
function first() {
var sql = "<resultMap id=\"" + $("#Database").val().trim() + "\" type=\" " + $("#className").val().trim() + "\">" + "\n";
return sql;
}
//数据类型转换
function dateType() {
var zzz = $("#count").val();
//获取数据类型
var int = new RegExp("int", "g");
var Integer = new RegExp("Integer", "g");
var Short = new RegExp("Short", "g");
var long = new RegExp("long", "g");
var double = new RegExp("double", "g");
var Timestamp = new RegExp("Timestamp", "g");
var boolean = new RegExp("boolean", "g");
var string = new RegExp("String", "g");
var date = new RegExp("Date", "g");
//替换数据类型
var oos = zzz.replace(Integer, "INTEGER");
oos = oos.replace(int, "INTEGER");
oos = oos.replace(long, "BIGINT");
oos = oos.replace(string, "VARCHAR");
oos = oos.replace(Short, "SMALLINT");
oos = oos.replace(double, "DOUBLE");
oos = oos.replace(Timestamp, "TIMESTAMP");
oos = oos.replace(boolean, "BIT");
oos = oos.replace(date, "java.util.Date");
return oos
}
</script>
</body>