自动生成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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值