| | |
| | | import com.alibaba.druid.util.JdbcConstants; |
| | | import com.alibaba.druid.util.JdbcUtils; |
| | | import com.hx.util.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | |
| | | * @author CJH 2022-01-12 |
| | | */ |
| | | public class SqlUtils { |
| | | //log4j日志 |
| | | private static Logger logger = LoggerFactory.getLogger(SqlUtils.class.getName()); |
| | | |
| | | |
| | | /**查询加密数据处理,只对查询做处理,select返回不做处理 |
| | | * @param sql sql语句 |
| | |
| | | //获取格式化的slq语句 |
| | | sql = sqlStatement.toString(); |
| | | |
| | | |
| | | |
| | | //解析select查询 |
| | | //SQLSelect sqlSelect = sqlStatement.getSelect() |
| | | //获取sql查询块 |
| | | SQLSelectQueryBlock sqlSelectQuery = (SQLSelectQueryBlock)sqlStatement.getSelect().getQuery() ; |
| | | SQLSelectQueryBlock sqlSelectQuery = null; |
| | | boolean b = true; |
| | | try{ |
| | | sqlSelectQuery = (SQLSelectQueryBlock)sqlStatement.getSelect().getQuery() ; |
| | | }catch (Exception e){ |
| | | b = false; |
| | | logger.error("解析sql报错:"+e.getMessage()); |
| | | } |
| | | |
| | | if(!b){ |
| | | return "err"; |
| | | } |
| | | |
| | | StringBuffer out = new StringBuffer() ; |
| | | //创建sql解析的标准化输出 |
| | | SQLASTOutputVisitor sqlastOutputVisitor = SQLUtils.createFormatOutputVisitor(out , null , JdbcUtils.MYSQL) ; |
| | |
| | | } |
| | | |
| | | } |
| | | splicingSql.append(sqlWhere.toString()); |
| | | splicingSql.append(sqlWhere); |
| | | return splicingSql.toString(); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | splicingSql.append(sqlWhere.toString()); |
| | | splicingSql.append(sqlWhere); |
| | | return splicingSql.toString(); |
| | | } |
| | | |