sql >> データベース >  >> RDS >> Mysql

olingo v2でBLOBとCLOBを処理する方法は?

    MySQLを使用している場合は、追加のExceptionInterceptorが必要です。 Blobの実装とともに。 ExceptionInterceptorのカスタム実装を作成できます これを使用してBlobフィールドを初期化します。

    それを実現するためのコードは次のようになります

    import java.sql.Blob;
    import java.sql.Clob;
    import java.util.Properties;
    
    import org.apache.olingo.odata2.jpa.processor.api.OnJPAWriteContent;
    import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
    
    import com.mysql.cj.exceptions.ExceptionInterceptor;
    import com.mysql.cj.log.Log;
    
    public class CustomOnJPAWriteContent implements OnJPAWriteContent {
    
        @Override
        public Blob getJPABlob(byte[] binaryData) throws ODataJPARuntimeException {
            return new com.mysql.cj.jdbc.Blob(binaryData, exceptionInterceptor);
        }
    
        @Override
        public Clob getJPAClob(char[] characterData) throws ODataJPARuntimeException {
            
            return new com.mysql.cj.jdbc.Clob(new String(characterData), exceptionInterceptor);
    
        }
    
        ExceptionInterceptor exceptionInterceptor = new ExceptionInterceptor() {
    
            @Override
            public Exception interceptException(Exception sqlEx) {
                // TODO Auto-generated method stub
                return null;
            }
    
            @Override
            public ExceptionInterceptor init(Properties props, Log log) {
                // TODO Auto-generated method stub
                return null;
            }
    
            @Override
            public void destroy() {
                // TODO Auto-generated method stub
    
            }
        };
    
    }
    



    1. MySQL-2つのテーブルを結合する

    2. SQL Serverの内部:PlanCachingPt。 I –プランの再利用

    3. 更新ボタンをクリックした後、クエリが更新されなかったのはなぜですか?

    4. OracleのNVL2()関数