java.lang.Object
org.miaixz.bus.mapper.handler.AbstractSqlHandler
org.miaixz.bus.pager.handler.SqlParserHandler
- Direct Known Subclasses:
ConditionHandler,OperationHandler,PaginationHandler
public class SqlParserHandler
extends org.miaixz.bus.mapper.handler.AbstractSqlHandler
抽象SQL解析类,提供SQL语句解析和处理功能。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields inherited from class org.miaixz.bus.mapper.handler.AbstractSqlHandler
DEFAULT_REFLECTOR_FACTORY, DELEGATE_BOUNDSQL, DELEGATE_BOUNDSQL_SQL, DELEGATE_MAPPEDSTATEMENT, MAPPEDSTATEMENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic net.sf.jsqlparser.statement.Statement解析单个SQL语句。parserMulti(String sql, Object object) 解析并处理多个SQL语句。parserSingle(String sql, Object object) 解析并处理单个SQL语句。static net.sf.jsqlparser.statement.StatementsparseStatements(String sql) 解析多个SQL语句。protected voidprocessDelete(net.sf.jsqlparser.statement.delete.Delete delete, int index, String sql, Object object) 处理DELETE语句。protected voidprocessInsert(net.sf.jsqlparser.statement.insert.Insert insert, int index, String sql, Object object) 处理INSERT语句。protected StringprocessParser(net.sf.jsqlparser.statement.Statement statement, int index, String sql, Object object) 执行SQL语句解析和处理。protected voidprocessSelect(net.sf.jsqlparser.statement.select.Select select, int index, String sql, Object object) 处理SELECT语句。protected voidprocessUpdate(net.sf.jsqlparser.statement.update.Update update, int index, String sql, Object object) 处理UPDATE语句。protected static voidvalidateSql(String sql) 校验SQL防止注入风险Methods inherited from class org.miaixz.bus.mapper.handler.AbstractSqlHandler
getMappedStatement, getMappedStatement, getMetaObject, getSqlParserInfo, mapperBoundSql, mapperStatementHandler, realTarget, setAdditionalParameter
-
Constructor Details
-
SqlParserHandler
public SqlParserHandler()
-
-
Method Details
-
parse
public static net.sf.jsqlparser.statement.Statement parse(String sql) throws net.sf.jsqlparser.JSQLParserException 解析单个SQL语句。- Parameters:
sql- SQL语句字符串- Returns:
- 解析后的Statement对象
- Throws:
net.sf.jsqlparser.JSQLParserException- 如果解析失败
-
parseStatements
public static net.sf.jsqlparser.statement.Statements parseStatements(String sql) throws net.sf.jsqlparser.JSQLParserException 解析多个SQL语句。- Parameters:
sql- SQL语句字符串- Returns:
- 解析后的Statements对象
- Throws:
net.sf.jsqlparser.JSQLParserException- 如果解析失败
-
parserSingle
解析并处理单个SQL语句。- Parameters:
sql- SQL语句字符串object- 附加处理对象- Returns:
- 处理后的SQL语句
- Throws:
org.miaixz.bus.core.lang.exception.InternalException- 如果解析失败
-
parserMulti
解析并处理多个SQL语句。- Parameters:
sql- SQL语句字符串object- 附加处理对象- Returns:
- 处理后的SQL语句(多条语句以分号分隔)
- Throws:
org.miaixz.bus.core.lang.exception.InternalException- 如果解析失败
-
processParser
protected String processParser(net.sf.jsqlparser.statement.Statement statement, int index, String sql, Object object) 执行SQL语句解析和处理。- Parameters:
statement- JSQLParser解析的语句对象index- 语句索引(多语句时使用)sql- 原始SQL语句object- 附加处理对象- Returns:
- 处理后的SQL语句
-
processInsert
protected void processInsert(net.sf.jsqlparser.statement.insert.Insert insert, int index, String sql, Object object) 处理INSERT语句。- Parameters:
insert- INSERT语句对象index- 语句索引sql- 原始SQL语句object- 附加处理对象- Throws:
UnsupportedOperationException- 默认不支持INSERT处理
-
processDelete
protected void processDelete(net.sf.jsqlparser.statement.delete.Delete delete, int index, String sql, Object object) 处理DELETE语句。- Parameters:
delete- DELETE语句对象index- 语句索引sql- 原始SQL语句object- 附加处理对象- Throws:
UnsupportedOperationException- 默认不支持DELETE处理
-
processUpdate
protected void processUpdate(net.sf.jsqlparser.statement.update.Update update, int index, String sql, Object object) 处理UPDATE语句。- Parameters:
update- UPDATE语句对象index- 语句索引sql- 原始SQL语句object- 附加处理对象- Throws:
UnsupportedOperationException- 默认不支持UPDATE处理
-
processSelect
protected void processSelect(net.sf.jsqlparser.statement.select.Select select, int index, String sql, Object object) 处理SELECT语句。- Parameters:
select- SELECT语句对象index- 语句索引sql- 原始SQL语句object- 附加处理对象- Throws:
UnsupportedOperationException- 默认不支持SELECT处理
-
validateSql
校验SQL防止注入风险- Parameters:
sql- SQL语句字符串
-