类 MySQL8DateTimeSqlTypeFilter
java.lang.Object
javax.management.NotificationBroadcasterSupport
com.alibaba.druid.filter.FilterAdapter
com.alibaba.druid.filter.mysql8datetime.MySQL8DateTimeSqlTypeFilter
- 所有已实现的接口:
Filter,Wrapper,NotificationBroadcaster,NotificationEmitter
针对mysql jdbc 8.0.23及以上版本,如果调用方没有使用orm框架,而是直接调用ResultSet的getObject方法,则针对DATETIME类型的字段,得到的对象从TimeStamp类型变成了LocalDateTime类型,导致调用方出现类型转换异常
通过Filter控制将对象类型转换成原来的类型
- 作者:
- lizongbo
- 另请参阅:
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static ObjectReplaces a LocalDateTime object with its equivalent Timestamp object.resultSet_getMetaData(FilterChain chain, ResultSetProxy resultSet) Retrieves the metadata for the result set, including information about the columns and their properties.resultSet_getObject(FilterChain chain, ResultSetProxy result, int columnIndex) 针对mysql jdbc 8.0.23及以上版本,通过该方法控制将对象类型转换成原来的类型resultSet_getObject(FilterChain chain, ResultSetProxy result, String columnLabel) 针对mysql jdbc 8.0.23及以上版本,通过该方法控制将对象类型转换成原来的类型从类继承的方法 com.alibaba.druid.filter.FilterAdapter
callableStatement_getArray, callableStatement_getArray, callableStatement_getBigDecimal, callableStatement_getBigDecimal, callableStatement_getBigDecimal, callableStatement_getBlob, callableStatement_getBlob, callableStatement_getBoolean, callableStatement_getBoolean, callableStatement_getByte, callableStatement_getByte, callableStatement_getBytes, callableStatement_getBytes, callableStatement_getCharacterStream, callableStatement_getCharacterStream, callableStatement_getClob, callableStatement_getClob, callableStatement_getDate, callableStatement_getDate, callableStatement_getDate, callableStatement_getDate, callableStatement_getDouble, callableStatement_getDouble, callableStatement_getFloat, callableStatement_getFloat, callableStatement_getInt, callableStatement_getInt, callableStatement_getLong, callableStatement_getLong, callableStatement_getNCharacterStream, callableStatement_getNCharacterStream, callableStatement_getNClob, callableStatement_getNClob, callableStatement_getNString, callableStatement_getNString, callableStatement_getObject, callableStatement_getObject, callableStatement_getObject, callableStatement_getObject, callableStatement_getRef, callableStatement_getRef, callableStatement_getRowId, callableStatement_getRowId, callableStatement_getShort, callableStatement_getShort, callableStatement_getSQLXML, callableStatement_getSQLXML, callableStatement_getString, callableStatement_getString, callableStatement_getTime, callableStatement_getTime, callableStatement_getTime, callableStatement_getTime, callableStatement_getTimestamp, callableStatement_getTimestamp, callableStatement_getTimestamp, callableStatement_getTimestamp, callableStatement_getURL, callableStatement_getURL, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_setAsciiStream, callableStatement_setAsciiStream, callableStatement_setAsciiStream, callableStatement_setBigDecimal, callableStatement_setBinaryStream, callableStatement_setBinaryStream, callableStatement_setBinaryStream, callableStatement_setBlob, callableStatement_setBlob, callableStatement_setBlob, callableStatement_setBoolean, callableStatement_setByte, callableStatement_setBytes, callableStatement_setCharacterStream, callableStatement_setCharacterStream, callableStatement_setCharacterStream, callableStatement_setClob, callableStatement_setClob, callableStatement_setClob, callableStatement_setDate, callableStatement_setDate, callableStatement_setDouble, callableStatement_setFloat, callableStatement_setInt, callableStatement_setLong, callableStatement_setNCharacterStream, callableStatement_setNCharacterStream, callableStatement_setNClob, callableStatement_setNClob, callableStatement_setNClob, callableStatement_setNString, callableStatement_setNull, callableStatement_setNull, callableStatement_setObject, callableStatement_setObject, callableStatement_setObject, callableStatement_setRowId, callableStatement_setShort, callableStatement_setSQLXML, callableStatement_setString, callableStatement_setTime, callableStatement_setTime, callableStatement_setTimestamp, callableStatement_setTimestamp, callableStatement_setURL, callableStatement_wasNull, clob_free, clob_getAsciiStream, clob_getCharacterStream, clob_getCharacterStream, clob_getSubString, clob_length, clob_position, clob_position, clob_setAsciiStream, clob_setCharacterStream, clob_setString, clob_setString, clob_truncate, configFromProperties, connection_abort, connection_clearWarnings, connection_close, connection_commit, connection_connect, connection_createArrayOf, connection_createBlob, connection_createClob, connection_createNClob, connection_createSQLXML, connection_createStatement, connection_createStatement, connection_createStatement, connection_createStruct, connection_getAutoCommit, connection_getCatalog, connection_getClientInfo, connection_getClientInfo, connection_getHoldability, connection_getMetaData, connection_getNetworkTimeout, connection_getSchema, connection_getTransactionIsolation, connection_getTypeMap, connection_getWarnings, connection_isClosed, connection_isReadOnly, connection_isValid, connection_nativeSQL, connection_prepareCall, connection_prepareCall, connection_prepareCall, connection_prepareStatement, connection_prepareStatement, connection_prepareStatement, connection_prepareStatement, connection_prepareStatement, connection_prepareStatement, connection_releaseSavepoint, connection_rollback, connection_rollback, connection_setAutoCommit, connection_setCatalog, connection_setClientInfo, connection_setClientInfo, connection_setHoldability, connection_setNetworkTimeout, connection_setReadOnly, connection_setSavepoint, connection_setSavepoint, connection_setSchema, connection_setTransactionIsolation, connection_setTypeMap, dataSource_getConnection, dataSource_releaseConnection, destroy, init, isWrapperFor, isWrapperFor, preparedStatement_addBatch, preparedStatement_clearParameters, preparedStatement_execute, preparedStatement_executeQuery, preparedStatement_executeUpdate, preparedStatement_getMetaData, preparedStatement_getParameterMetaData, preparedStatement_setArray, preparedStatement_setAsciiStream, preparedStatement_setAsciiStream, preparedStatement_setAsciiStream, preparedStatement_setBigDecimal, preparedStatement_setBinaryStream, preparedStatement_setBinaryStream, preparedStatement_setBinaryStream, preparedStatement_setBlob, preparedStatement_setBlob, preparedStatement_setBlob, preparedStatement_setBoolean, preparedStatement_setByte, preparedStatement_setBytes, preparedStatement_setCharacterStream, preparedStatement_setCharacterStream, preparedStatement_setCharacterStream, preparedStatement_setClob, preparedStatement_setClob, preparedStatement_setClob, preparedStatement_setDate, preparedStatement_setDate, preparedStatement_setDouble, preparedStatement_setFloat, preparedStatement_setInt, preparedStatement_setLong, preparedStatement_setNCharacterStream, preparedStatement_setNCharacterStream, preparedStatement_setNClob, preparedStatement_setNClob, preparedStatement_setNClob, preparedStatement_setNString, preparedStatement_setNull, preparedStatement_setNull, preparedStatement_setObject, preparedStatement_setObject, preparedStatement_setObject, preparedStatement_setRef, preparedStatement_setRowId, preparedStatement_setShort, preparedStatement_setSQLXML, preparedStatement_setString, preparedStatement_setTime, preparedStatement_setTime, preparedStatement_setTimestamp, preparedStatement_setTimestamp, preparedStatement_setUnicodeStream, preparedStatement_setURL, resultSet_absolute, resultSet_afterLast, resultSet_beforeFirst, resultSet_cancelRowUpdates, resultSet_clearWarnings, resultSet_close, resultSet_deleteRow, resultSet_findColumn, resultSet_first, resultSet_getArray, resultSet_getArray, resultSet_getAsciiStream, resultSet_getAsciiStream, resultSet_getBigDecimal, resultSet_getBigDecimal, resultSet_getBigDecimal, resultSet_getBigDecimal, resultSet_getBinaryStream, resultSet_getBinaryStream, resultSet_getBlob, resultSet_getBlob, resultSet_getBoolean, resultSet_getBoolean, resultSet_getByte, resultSet_getByte, resultSet_getBytes, resultSet_getBytes, resultSet_getCharacterStream, resultSet_getCharacterStream, resultSet_getClob, resultSet_getClob, resultSet_getConcurrency, resultSet_getCursorName, resultSet_getDate, resultSet_getDate, resultSet_getDate, resultSet_getDate, resultSet_getDouble, resultSet_getDouble, resultSet_getFetchDirection, resultSet_getFetchSize, resultSet_getFloat, resultSet_getFloat, resultSet_getHoldability, resultSet_getInt, resultSet_getInt, resultSet_getLong, resultSet_getLong, resultSet_getNCharacterStream, resultSet_getNCharacterStream, resultSet_getNClob, resultSet_getNClob, resultSet_getNString, resultSet_getNString, resultSet_getObject, resultSet_getObject, resultSet_getObject, resultSet_getObject, resultSet_getRef, resultSet_getRef, resultSet_getRow, resultSet_getRowId, resultSet_getRowId, resultSet_getShort, resultSet_getShort, resultSet_getSQLXML, resultSet_getSQLXML, resultSet_getStatement, resultSet_getString, resultSet_getString, resultSet_getTime, resultSet_getTime, resultSet_getTime, resultSet_getTime, resultSet_getTimestamp, resultSet_getTimestamp, resultSet_getTimestamp, resultSet_getTimestamp, resultSet_getType, resultSet_getUnicodeStream, resultSet_getUnicodeStream, resultSet_getURL, resultSet_getURL, resultSet_getWarnings, resultSet_insertRow, resultSet_isAfterLast, resultSet_isBeforeFirst, resultSet_isClosed, resultSet_isFirst, resultSet_isLast, resultSet_last, resultSet_moveToCurrentRow, resultSet_moveToInsertRow, resultSet_next, resultSet_previous, resultSet_refreshRow, resultSet_relative, resultSet_rowDeleted, resultSet_rowInserted, resultSet_rowUpdated, resultSet_setFetchDirection, resultSet_setFetchSize, resultSet_updateArray, resultSet_updateArray, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateBigDecimal, resultSet_updateBigDecimal, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBoolean, resultSet_updateBoolean, resultSet_updateByte, resultSet_updateByte, resultSet_updateBytes, resultSet_updateBytes, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateDate, resultSet_updateDate, resultSet_updateDouble, resultSet_updateDouble, resultSet_updateFloat, resultSet_updateFloat, resultSet_updateInt, resultSet_updateInt, resultSet_updateLong, resultSet_updateLong, resultSet_updateNCharacterStream, resultSet_updateNCharacterStream, resultSet_updateNCharacterStream, resultSet_updateNCharacterStream, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNString, resultSet_updateNString, resultSet_updateNull, resultSet_updateNull, resultSet_updateObject, resultSet_updateObject, resultSet_updateObject, resultSet_updateObject, resultSet_updateRef, resultSet_updateRef, resultSet_updateRow, resultSet_updateRowId, resultSet_updateRowId, resultSet_updateShort, resultSet_updateShort, resultSet_updateSQLXML, resultSet_updateSQLXML, resultSet_updateString, resultSet_updateString, resultSet_updateTime, resultSet_updateTime, resultSet_updateTimestamp, resultSet_updateTimestamp, resultSet_wasNull, resultSetMetaData_getCatalogName, resultSetMetaData_getColumnClassName, resultSetMetaData_getColumnCount, resultSetMetaData_getColumnDisplaySize, resultSetMetaData_getColumnLabel, resultSetMetaData_getColumnName, resultSetMetaData_getColumnType, resultSetMetaData_getColumnTypeName, resultSetMetaData_getPrecision, resultSetMetaData_getScale, resultSetMetaData_getSchemaName, resultSetMetaData_getTableName, resultSetMetaData_isAutoIncrement, resultSetMetaData_isCaseSensitive, resultSetMetaData_isCurrency, resultSetMetaData_isDefinitelyWritable, resultSetMetaData_isNullable, resultSetMetaData_isReadOnly, resultSetMetaData_isSearchable, resultSetMetaData_isSigned, resultSetMetaData_isWritable, statement_addBatch, statement_cancel, statement_clearBatch, statement_clearWarnings, statement_close, statement_execute, statement_execute, statement_execute, statement_execute, statement_executeBatch, statement_executeQuery, statement_executeUpdate, statement_executeUpdate, statement_executeUpdate, statement_executeUpdate, statement_getConnection, statement_getFetchDirection, statement_getFetchSize, statement_getGeneratedKeys, statement_getMaxFieldSize, statement_getMaxRows, statement_getMoreResults, statement_getMoreResults, statement_getQueryTimeout, statement_getResultSet, statement_getResultSetConcurrency, statement_getResultSetHoldability, statement_getResultSetType, statement_getUpdateCount, statement_getWarnings, statement_isClosed, statement_isPoolable, statement_setCursorName, statement_setEscapeProcessing, statement_setFetchDirection, statement_setFetchSize, statement_setMaxFieldSize, statement_setMaxRows, statement_setPoolable, statement_setQueryTimeout, unwrap, unwrap
-
构造器详细资料
-
MySQL8DateTimeSqlTypeFilter
public MySQL8DateTimeSqlTypeFilter()
-
-
方法详细资料
-
resultSet_getObject
public Object resultSet_getObject(FilterChain chain, ResultSetProxy result, int columnIndex) throws SQLException 针对mysql jdbc 8.0.23及以上版本,通过该方法控制将对象类型转换成原来的类型- 指定者:
resultSet_getObject在接口中Filter- 覆盖:
resultSet_getObject在类中FilterAdapter- 参数:
chain- chain the FilterChain object that represents the filter chainresult- the ResultSetProxy object that represents the result setcolumnIndex- the index of the column to retrieve- 返回:
- an Object holding the column value, or
nullif the value is SQL NULL - 抛出:
SQLException- if a database access error occurs or the columnIndex is invalid- 另请参阅:
-
resultSet_getObject
public Object resultSet_getObject(FilterChain chain, ResultSetProxy result, String columnLabel) throws SQLException 针对mysql jdbc 8.0.23及以上版本,通过该方法控制将对象类型转换成原来的类型- 指定者:
resultSet_getObject在接口中Filter- 覆盖:
resultSet_getObject在类中FilterAdapter- 参数:
chain- chain the FilterChain object that represents the filter chainresult- the ResultSetProxy object that represents the result setcolumnLabel- the label of the column to retrieve- 返回:
- an Object holding the column value, or
nullif the value is SQL NULL - 抛出:
SQLException- if a database access error occurs or the columnLabel is invalid- 另请参阅:
-
getObjectReplaceLocalDateTime
Replaces a LocalDateTime object with its equivalent Timestamp object. If the input object is not an instance of LocalDateTime, it is returned as is. This method is specifically designed to handle cases where upgrading to MySQL JDBC 8.0.23 or above requires converting LocalDateTime objects back to the older compatible type.- 参数:
obj- the object to be checked and possibly replaced- 返回:
- the replaced object if it is a LocalDateTime, or the original object otherwise
-
resultSet_getMetaData
public ResultSetMetaData resultSet_getMetaData(FilterChain chain, ResultSetProxy resultSet) throws SQLException Retrieves the metadata for the result set, including information about the columns and their properties. This method wraps the original result set metadata with a custom implementation that handles MySQL 8.0.23 or above compatibility for LocalDateTime objects.- 指定者:
resultSet_getMetaData在接口中Filter- 覆盖:
resultSet_getMetaData在类中FilterAdapter- 参数:
chain- the FilterChain object that represents the filter chainresultSet- the ResultSetProxy object that represents the result set- 返回:
- a ResultSetMetaData object containing the metadata for the result set
- 抛出:
SQLException- if a database access error occurs
-