diff --git a/typo3/sysext/recycler/Classes/Utility/RecyclerUtility.php b/typo3/sysext/recycler/Classes/Utility/RecyclerUtility.php
index 7020a3c1bfcc87870d188c779a061ae906791c09..f605b9ae12b62d0669c26ece3ef104272568efc8 100644
--- a/typo3/sysext/recycler/Classes/Utility/RecyclerUtility.php
+++ b/typo3/sysext/recycler/Classes/Utility/RecyclerUtility.php
@@ -15,6 +15,8 @@ namespace TYPO3\CMS\Recycler\Utility;
  */
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Database\ConnectionPool;
+use TYPO3\CMS\Core\Database\Query\QueryContextType;
 use TYPO3\CMS\Core\Type\Bitmask\Permission;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
@@ -83,15 +85,23 @@ class RecyclerUtility
         if ($uid === 0) {
             return $output;
         }
-        $databaseConnection = static::getDatabaseConnection();
-        $clause = trim($clause) !== '' ? ' AND ' . $clause : '';
+        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages');
+        $queryBuilder->getQueryContext()->setContext(QueryContextType::UNRESTRICTED);
+
+        $clause = trim($clause);
         $loopCheck = 100;
         while ($loopCheck > 0) {
             $loopCheck--;
-            $res = $databaseConnection->exec_SELECTquery('uid,pid,title,deleted,t3ver_oid,t3ver_wsid', 'pages', 'uid=' . $uid . $clause);
-            if ($res !== false) {
-                $row = $databaseConnection->sql_fetch_assoc($res);
-                $databaseConnection->sql_free_result($res);
+
+            $queryBuilder
+                ->select('uid', 'pid', 'title', 'deleted', 't3ver_oid', 't3ver_wsid')
+                ->from('pages')
+                ->where($queryBuilder->expr()->eq('uid', (int)$uid));
+            if (!empty($clause)) {
+                $queryBuilder->andWhere($clause);
+            }
+            $row = $queryBuilder->execute()->fetch();
+            if ($row !== false) {
                 BackendUtility::workspaceOL('pages', $row);
                 if (is_array($row)) {
                     BackendUtility::fixVersioningPid('pages', $row);
@@ -143,13 +153,17 @@ class RecyclerUtility
         if ((int)$pid === 0) {
             return false;
         }
-        $db = static::getDatabaseConnection();
-        $res = $db->exec_SELECTquery('deleted', 'pages', 'uid=' . (int)$pid);
-        if ($res !== false) {
-            $record = $db->sql_fetch_assoc($res);
-            return (bool)$record['deleted'];
-        }
-        return false;
+        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('pages');
+        $queryBuilder->getQueryContext()->setContext(QueryContextType::UNRESTRICTED);
+
+        $deleted = $queryBuilder
+            ->select('deleted')
+            ->from('pages')
+            ->where($queryBuilder->expr()->eq('uid', (int)$pid))
+            ->execute()
+            ->fetchColumn();
+
+        return (bool)$deleted;
     }
 
     /**
@@ -161,13 +175,17 @@ class RecyclerUtility
      */
     public static function getPidOfUid($uid, $table)
     {
-        $db = static::getDatabaseConnection();
-        $res = $db->exec_SELECTquery('pid', $table, 'uid=' . (int)$uid);
-        if ($res !== false) {
-            $record = $db->sql_fetch_assoc($res);
-            return $record['pid'];
-        }
-        return 0;
+        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable($table);
+        $queryBuilder->getQueryContext()->setContext(QueryContextType::UNRESTRICTED);
+
+        $pid = $queryBuilder
+            ->select('pid')
+            ->from($table)
+            ->where($queryBuilder->expr()->eq('uid', (int)$uid))
+            ->execute()
+            ->fetchColumn();
+
+        return (int)$pid;
     }
 
     /**
@@ -185,16 +203,6 @@ class RecyclerUtility
         return $TCA;
     }
 
-    /**
-     * Returns an instance of DatabaseConnection
-     *
-     * @return \TYPO3\CMS\Core\Database\DatabaseConnection
-     */
-    protected static function getDatabaseConnection()
-    {
-        return $GLOBALS['TYPO3_DB'];
-    }
-
     /**
      * Returns the BackendUser
      *