天津单位网站建设,wordpress可视化找不着,网络营销有用吗,wordpress 显示加载时间目录 一、 序言二、代码示例三、部署至Nginx 一、 序言
平时通过IDEA开发#xff0c;可以直接装相关MybatisLogFormat的插件直接对控制台里的Mybatis SQL日志进行格式化。一旦离开本地环境#xff0c;到了测试或者线上#xff0c;就得自己手动拼参数了。
简单的SQL还好可以直接装相关MybatisLogFormat的插件直接对控制台里的Mybatis SQL日志进行格式化。一旦离开本地环境到了测试或者线上就得自己手动拼参数了。
简单的SQL还好复杂点或者查询条件多的SQL简直让人怀疑人生今天分享一个简单的SQL格式化H5从此解放拼接的双手。 二、代码示例
!DOCTYPE html
html
headmeta charsetutf-8title/titlescript typetext/javascriptfunction f(obj) {var textVa obj.value;// 获取带问号的SQL语句var statementStartIndex textVa.indexOf(Preparing: );var statementEndIndex textVa.length - 1;for (var i statementStartIndex; i textVa.length; i) {if (textVa[i] \n) {statementEndIndex i;break;}}var statementStr textVa.substring(statementStartIndex Preparing: .length, statementEndIndex);console.log(statementStr);//获取参数var parametersStartIndex textVa.indexOf(Parameters: );var parametersEndIndex textVa.length - 1;for (var i parametersStartIndex; i textVa.length; i) {if (textVa[i] \n) {parametersEndIndex i;break;} else {console.log(textVa[i]);}}var parametersStr textVa.substring(parametersStartIndex Parameters: .length, parametersEndIndex);parametersStr parametersStr.split(,);console.log(parametersStr);for (var i 0; i parametersStr.length; i) {// 如果数据中带括号将使用其他逻辑tempStr parametersStr[i].substring(0, parametersStr[i].indexOf(());// 获取括号中内容typeStr parametersStr[i].substring(parametersStr[i].indexOf(() 1, parametersStr[i].indexOf()));// 如果为字符类型if (typeStr String || typeStr Timestamp) {statementStr statementStr.replace(?, tempStr.trim() );} else {// 数值类型statementStr statementStr.replace(?, tempStr.trim());}}console.log(statementStr);document.getElementById(d1).innerHTML statementStr;return textVa;}function copySQL() {var SQL document.getElementById(d1);SQL.select(); // 选择对象document.execCommand(Copy); // 执行浏览器复制命令var msg document.getElementById(msg);msg.innerHTML 已复制到剪切板;setTimeout(function () {msg.innerHTML ;}, 3000);}function clearLog(obj) {obj.select();obj.value ;}/script
/head
bodyh2font color#00bfff 输入Mybatis SQL日志/font/h2textarea idsqlLog rows13 cols140 stylefont-size:20px/textareadiv styleborder:0px deepskyblue solid;width:1425px;height:50px;text-align:rightbutton stylecolor:mediumblue;width:100px;height:60px typebuttononclickclearLog(document.getElementById(sqlLog))清空/buttonbutton stylecolor:mediumblue;width:100px;height:60px typesubmitonclickf(document.getElementById(sqlLog))解析SQL/button
/divh2font color#32cd32解析为可执行SQL/font/h2textarea idd1 rows13 cols140 stylefont-size:20px/textarea
div styleborder:0px deepskyblue solid;width:1425px;height:50px;text-align:rightbutton stylecolor:mediumblue;width:100px;height:60px typebutton onclickcopySQL()复制SQL/button
/divdiv idmsgstylecolor:cornflowerblue;border:0px black solid;width:800px;height:20px;text-align:right;font-style: initial;font-size: large
/div/body
/html三、部署至Nginx
接下来我们直接将该静态文件扔到Nginx中就好了部署也很简单方便易用配置如下
location /h5/sql-formatter {alias h5/mybatis-log-formatter;
}备注我部署的文件路径为/opt/appl/nginx/h5/mybatis-log-formatter。 打开浏览器访问http://localhost/h5/sql-formatter/sql.html点击解析SQL就可以解析出拼接好条件的SQL如下