工作中会用到MyBatis进行数据库操作,而MyBatis在输出SQL时并不会输出完整的SQL,而是一行带参数占位符的SQL结构,接着是所用的参数,这样在调试SQL时经常需要进行参数复制,显得不方便。
主要的过程是通过拦截器对要执行的SQL进行拦截,获取parameterObject,并根据parameterMapping从parameterObject中找到真正使用的参数,最后替换掉SQL中的?占位符。
完整代码在GitHub上
工作中会用到MyBatis进行数据库操作,而MyBatis在输出SQL时并不会输出完整的SQL,而是一行带参数占位符的SQL结构,接着是所用的参数,这样在调试SQL时经常需要进行参数复制,显得不方便。
主要的过程是通过拦截器对要执行的SQL进行拦截,获取parameterObject,并根据parameterMapping从parameterObject中找到真正使用的参数,最后替换掉SQL中的?占位符。
完整代码在GitHub上