Mybatis日志参数快速替换占位符工具的详细步骤

时间:2021-05-20

Mybatis log printf工具网页地址: http:///element-ui/lib/index.js"></script> <style> #app { margin-top: 70px; display: flex; justify-content: space-evenly; align-items: center; font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; } </style></head><body> <div id="app"> <el-input type="textarea" v-model="pre" placeholder="请复制输入Mybatis打印的日志,须完整Prepareing语句和Parameter语句" :rows="28" style="width: 600px"></el-input> <el-button type="success" @click="convert" style="height: 60px; width: 80px;">转换</el-button> <el-input type="textarea" v-model="res" placeholder="输出结果" :rows="28" style="width: 600px"></el-input> </div> <script type="text/javascript"> const app = new Vue({ el: '#app', data() { return { // 原始str pre: '', // 输出结果 res: '' } }, methods: { convert() { const str = this.pre if (str.indexOf('Preparing') == -1 || str.indexOf('Parameters') == -1) { this.$message({ message: '请将Preparing和Parameters语句复制进来', type: 'error', center: true }) } // str为完整的三行或两行SQL 提取预编译语句 let prepare = str.substring(str.indexOf('Preparing') + 11, str.indexOf('\n')) // 获取参数,去空格 const params = str.substring(str.indexOf('Parameters') + 12, index(str, '\n', 2)).replace(/ /g, '') // 参数数组 const array = params.split(',') // 循环替换占位符,字符串方式替换每次替换第一个 array.map(item => { // 获取每个参数值 let newValue = item.substring(0, item.indexOf('(')) // 获取参数类型 const type = item.substring(item.indexOf('(') + 1, item.indexOf(')')) if ('String' === type) { newValue = "'" + newValue + "'" } prepare = prepare .replace('?', newValue) }) this.res = prepare } } }) // 返回字符串str中的第n字符串reg在str中的索引值index function index(str, reg, n) { if (!str || !reg || n <= 0) return -1 // 先求出第一个,再递归n-1 if (n === 1) { return str.indexOf(reg) } // 注意n-1的索引后一定要加1,负责会一直是第一个reg的索引 return str.indexOf(reg, index(str, reg, n - 1) + 1) } // 测试index函数 const str = 'hello world ok' const reg = 'o' console.log(index(str, reg, 3)) </script></body></html>

总结

到此这篇关于Mybatis日志参数快速替换占位符工具的文章就介绍到这了,更多相关Mybatis日志参数替换占位符内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章