美文网首页
完整sql语句输出的工具类

完整sql语句输出的工具类

作者: 诗错亦染瑾 | 来源:发表于2017-07-11 16:30 被阅读8次

不多说,上代码

/**
 * author zz
 */

public class SQLTool {

    /**
     * 去掉sql中的?号,返回执行的具体sql
     * @param sql
     * @param params
     * @return String
     */
    public String logSQL(String sql, Object[] params) {

        int _paramNum = 0;
        String _backSql = "";
        if (null != params)
            _paramNum = params.length;
        if (1 > _paramNum) {// 1 如果没有参数,说明是不是动态SQL语句
            _backSql = sql;
        } else {// 2 如果有参数,则是动态SQL语句
            StringBuffer _returnSQL = new StringBuffer();
            String[] _subSQL = sql.split("\\?");
            for (int i = 0; i < _paramNum; i++) {
                if (null != params[i]) {

                    if (params[i] instanceof java.util.Date) {
                        _returnSQL
                                .append(_subSQL[i])
                                .append(" '")
                                .append(this
                                        .util2sql((java.util.Date) params[i]))
                                .append("' ");
                    } else if (params[i] instanceof String) {
                        _returnSQL.append(_subSQL[i]).append(" '")
                                .append(params[i]).append("' ");
                    } else if (params[i] instanceof Integer) {
                        _returnSQL.append(_subSQL[i]).append(" ")
                                .append(params[i]).append(" ");
                    }
                }
            }

            if (_subSQL.length > params.length) {
                _returnSQL.append(_subSQL[_subSQL.length - 1]);
            }
            _backSql = _returnSQL.toString();
        }
        return _backSql;
    }

    /**
     * 转换时间类  java.util.Date->java.sql.Date
     * @param fechaUtil
     * @return java.sql.Date
     */
    private java.sql.Date util2sql(java.util.Date fechaUtil) {
        java.sql.Date _SQL = new java.sql.Date(fechaUtil.getTime());
        return _SQL;
    }

}

相关文章

网友评论

      本文标题:完整sql语句输出的工具类

      本文链接:https://www.haomeiwen.com/subject/mzjmhxtx.html