diff --git a/core/modules/comment/lib/Drupal/comment/Plugin/views/argument/UserUid.php b/core/modules/comment/lib/Drupal/comment/Plugin/views/argument/UserUid.php
index 75aac81..75d469c 100644
--- a/core/modules/comment/lib/Drupal/comment/Plugin/views/argument/UserUid.php
+++ b/core/modules/comment/lib/Drupal/comment/Plugin/views/argument/UserUid.php
@@ -7,8 +7,10 @@
 
 namespace Drupal\comment\Plugin\views\argument;
 
-use Drupal\views\Plugin\views\argument\ArgumentPluginBase;
 use Drupal\Component\Annotation\PluginID;
+use Drupal\Core\Database\Connection;
+use Drupal\views\Plugin\views\argument\ArgumentPluginBase;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Argument handler to accept a user id to check for nodes that
@@ -20,15 +22,35 @@
  */
 class UserUid extends ArgumentPluginBase {
 
+  /**
+   * Database Service Object.
+   *
+   * @var \Drupal\Core\Database\Connection
+   */
+  protected $database;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
+    return new static($configuration, $plugin_id, $plugin_definition, $container->get('database'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+
+    $this->database = $database;
+  }
+
   function title() {
     if (!$this->argument) {
       $title = config('user.settings')->get('anonymous');
     }
     else {
-      $query = db_select('users', 'u');
-      $query->addField('u', 'name');
-      $query->condition('u.uid', $this->argument);
-      $title = $query->execute()->fetchField();
+      $title = $this->database->query('SELECT u.name FROM {users} u WHERE u.uid = :uid', array(':uid' => $this->argument))->fetchField();
     }
     if (empty($title)) {
       return t('No user');
@@ -54,7 +76,7 @@ protected function defaultActions($which = NULL) {
   public function query($group_by = FALSE) {
     $this->ensureMyTable();
 
-    $subselect = db_select('comment', 'c');
+    $subselect = $this->database->select('comment', 'c');
     $subselect->addField('c', 'cid');
     $subselect->condition('c.uid', $this->argument);
     $subselect->where("c.nid = $this->tableAlias.nid");
diff --git a/core/modules/comment/lib/Drupal/comment/Plugin/views/field/NodeNewComments.php b/core/modules/comment/lib/Drupal/comment/Plugin/views/field/NodeNewComments.php
index 97ae30e..7b3f533 100644
--- a/core/modules/comment/lib/Drupal/comment/Plugin/views/field/NodeNewComments.php
+++ b/core/modules/comment/lib/Drupal/comment/Plugin/views/field/NodeNewComments.php
@@ -7,10 +7,12 @@
 
 namespace Drupal\comment\Plugin\views\field;
 
+use Drupal\Component\Annotation\PluginID;
+use Drupal\Core\Database\Connection;
 use Drupal\views\Plugin\views\field\Numeric;
 use Drupal\views\Plugin\views\display\DisplayPluginBase;
 use Drupal\views\ViewExecutable;
-use Drupal\Component\Annotation\PluginID;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Field handler to display the number of new comments.
@@ -22,6 +24,29 @@
 class NodeNewComments extends Numeric {
 
   /**
+   * Database Service Object.
+   *
+   * @var \Drupal\Core\Database\Connection
+   */
+  protected $database;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
+    return new static($configuration, $plugin_id, $plugin_definition, $container->get('database'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+
+    $this->database = $database;
+  }
+
+  /**
    * Overrides Drupal\views\Plugin\views\field\FieldPluginBase::init().
    */
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
@@ -76,16 +101,15 @@ function pre_render(&$values) {
     }
 
     if ($nids) {
-      $query = db_select('node', 'n');
-      $query->addField('n', 'nid');
-      $query->innerJoin('comment', 'c', 'n.nid = c.nid');
-      $query->addExpression('COUNT(c.cid)', 'num_comments');
-      $query->leftJoin('history', 'h', 'h.nid = n.nid');
-      $query->condition('n.nid', $nids);
-      $query->where('c.changed > GREATEST(COALESCE(h.timestamp, :timestamp), :timestamp)', array(':timestamp' => HISTORY_READ_LIMIT));
-      $query->condition('c.status', COMMENT_PUBLISHED);
-      $query->groupBy('n.nid');
-      $result = $query->execute();
+      $result = $this->database->query("SELECT n.nid, COUNT(c.cid) as num_comments FROM {node} n INNER JOIN {comment} c ON n.nid = c.nid
+        LEFT JOIN {history} h ON h.nid = n.nid AND h.uid = :h_uid WHERE n.nid IN (:nids)
+        AND c.changed > GREATEST(COALESCE(h.timestamp, :timestamp), :timestamp) AND c.status = :status GROUP BY n.nid", array(
+          ':status' => COMMENT_PUBLISHED,
+          ':h_uid' => $user->uid,
+          ':nids' => $nids,
+          ':timestamp' => HISTORY_READ_LIMIT,
+        ));
+
       foreach ($result as $node) {
         foreach ($ids[$node->nid] as $id) {
           $values[$id]->{$this->field_alias} = $node->num_comments;
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/argument/Vid.php b/core/modules/node/lib/Drupal/node/Plugin/views/argument/Vid.php
index f61dd75..d322da6 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/argument/Vid.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/argument/Vid.php
@@ -7,8 +7,10 @@
 
 namespace Drupal\node\Plugin\views\argument;
 
-use Drupal\views\Plugin\views\argument\Numeric;
 use Drupal\Component\Annotation\PluginID;
+use Drupal\Core\Database\Connection;
+use Drupal\views\Plugin\views\argument\Numeric;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Argument handler to accept a node revision id.
@@ -17,7 +19,28 @@
  */
 class Vid extends Numeric {
 
-  // No constructor is necessary.
+  /**
+   * Database Service Object.
+   *
+   * @var \Drupal\Core\Database\Connection
+   */
+  protected $database;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
+    return new static($configuration, $plugin_id, $plugin_definition, $container->get('database'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+
+    $this->database = $database;
+  }
 
   /**
    * Override the behavior of title(). Get the title of the revision.
@@ -25,11 +48,7 @@ class Vid extends Numeric {
   public function titleQuery() {
     $titles = array();
 
-    $results = db_select('node_field_revision', 'npr')
-      ->fields('npr', array('vid', 'nid', 'title'))
-      ->condition('npr.vid', $this->value)
-      ->execute()
-      ->fetchAllAssoc('vid', PDO::FETCH_ASSOC);
+    $results = $this->database->query("SELECT npr.vid, npr.nid, npr.title FROM {node_field_revision} npr WHERE npr.vid IN (:vids)", array(':vids' => $this->value))->fetchAllAssoc('vid', PDO::FETCH_ASSOC);
     $nids = array();
     foreach ($results as $result) {
       $nids[] = $result['nid'];
diff --git a/core/modules/user/lib/Drupal/user/Plugin/views/argument_validator/User.php b/core/modules/user/lib/Drupal/user/Plugin/views/argument_validator/User.php
index 929ed42..b9344b8 100644
--- a/core/modules/user/lib/Drupal/user/Plugin/views/argument_validator/User.php
+++ b/core/modules/user/lib/Drupal/user/Plugin/views/argument_validator/User.php
@@ -9,7 +9,9 @@
 
 use Drupal\Component\Annotation\Plugin;
 use Drupal\Core\Annotation\Translation;
+use Drupal\Core\Database\Connection;
 use Drupal\views\Plugin\views\argument_validator\ArgumentValidatorPluginBase;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Validate whether an argument is a valid user.
@@ -26,6 +28,29 @@
  */
 class User extends ArgumentValidatorPluginBase {
 
+  /**
+   * Database Service Object.
+   *
+   * @var \Drupal\Core\Database\Connection
+   */
+  protected $database;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
+    return new static($configuration, $plugin_id, $plugin_definition, $container->get('database'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+
+    $this->database = $database;
+  }
+
   protected function defineOptions() {
     $options = parent::defineOptions();
     $options['type'] = array('default' => 'uid');
@@ -104,7 +129,7 @@ function validate_argument($argument) {
     }
 
     if (!isset($account)) {
-      $account = db_select('users', 'u')
+      $account = $this->database->select('users', 'u')
         ->fields('u', array('uid', 'name'))
         ->condition($condition, $argument)
         ->execute()
@@ -120,10 +145,7 @@ function validate_argument($argument) {
       $roles = $this->options['roles'];
       $account->roles = array();
       $account->roles[] = $account->uid ? DRUPAL_AUTHENTICATED_RID : DRUPAL_ANONYMOUS_RID;
-      $query = db_select('users_roles', 'u');
-      $query->addField('u', 'rid');
-      $query->condition('u.uid', $account->uid);
-      $result = $query->execute();
+      $result = $this->database->query('SELECT rid FROM {users_roles} WHERE uid = :uid', array(':uid' => $account->uid));
       foreach ($result as $role) {
         $account->roles[] = $role->rid;
       }
diff --git a/core/modules/user/lib/Drupal/user/Plugin/views/field/Permissions.php b/core/modules/user/lib/Drupal/user/Plugin/views/field/Permissions.php
index 70f01b4..071c5cb 100644
--- a/core/modules/user/lib/Drupal/user/Plugin/views/field/Permissions.php
+++ b/core/modules/user/lib/Drupal/user/Plugin/views/field/Permissions.php
@@ -8,9 +8,11 @@
 namespace Drupal\user\Plugin\views\field;
 
 use Drupal\Component\Annotation\PluginID;
+use Drupal\Core\Database\Connection;
 use Drupal\views\Plugin\views\display\DisplayPluginBase;
 use Drupal\views\ViewExecutable;
 use Drupal\views\Plugin\views\field\PrerenderList;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Field handler to provide a list of permissions.
@@ -22,6 +24,29 @@
 class Permissions extends PrerenderList {
 
   /**
+   * Database Service Object.
+   *
+   * @var \Drupal\Core\Database\Connection
+   */
+  protected $database;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
+    return new static($configuration, $plugin_id, $plugin_definition, $container->get('database'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+
+    $this->database = $database;
+  }
+
+  /**
    * Overrides Drupal\views\Plugin\views\field\FieldPluginBase::init().
    */
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
@@ -55,14 +80,8 @@ function pre_render(&$values) {
 
       $permissions = module_invoke_all('permission');
 
-      $query = db_select('role_permission', 'rp');
-      $query->join('users_roles', 'u', 'u.rid = rp.rid');
-      $query->fields('u', array('uid', 'rid'));
-      $query->addField('rp', 'permission');
-      $query->condition('u.uid', $uids);
-      $query->condition('rp.module', array_keys($modules));
-      $query->orderBy('rp.permission');
-      $result = $query->execute();
+      $result = $this->database->query("SELECT u.uid, u.rid, rp.permission FROM {role_permission} rp INNER JOIN {users_roles} u ON u.rid = rp.rid WHERE u.uid IN (:uids) AND rp.module IN (:modules) ORDER BY rp.permission",
+        array(':uids' => $uids, ':modules' => array_keys($modules)));
 
       foreach ($result as $perm) {
         $this->items[$perm->uid][$perm->permission]['permission'] = $permissions[$perm->permission]['title'];
diff --git a/core/modules/user/lib/Drupal/user/Plugin/views/field/Roles.php b/core/modules/user/lib/Drupal/user/Plugin/views/field/Roles.php
index 140e2bb..6fdacef 100644
--- a/core/modules/user/lib/Drupal/user/Plugin/views/field/Roles.php
+++ b/core/modules/user/lib/Drupal/user/Plugin/views/field/Roles.php
@@ -8,9 +8,11 @@
 namespace Drupal\user\Plugin\views\field;
 
 use Drupal\Component\Annotation\PluginID;
+use Drupal\Core\Database\Connection;
 use Drupal\views\Plugin\views\display\DisplayPluginBase;
 use Drupal\views\ViewExecutable;
 use Drupal\views\Plugin\views\field\PrerenderList;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Field handler to provide a list of roles.
@@ -22,6 +24,29 @@
 class Roles extends PrerenderList {
 
   /**
+   * Database Service Object.
+   *
+   * @var \Drupal\Core\Database\Connection
+   */
+  protected $database;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
+    return new static($configuration, $plugin_id, $plugin_definition, $container->get('database'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+
+    $this->database = $database;
+  }
+
+  /**
    * Overrides Drupal\views\Plugin\views\field\FieldPluginBase::init().
    */
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
@@ -45,12 +70,7 @@ function pre_render(&$values) {
 
     if ($uids) {
       $roles = user_roles();
-      $query = db_select('users_roles', 'u');
-      $query->fields('u', array('uid', 'rid'));
-      $query->condition('u.rid', array_keys($roles));
-      $query->condition('u.uid', $uids);
-
-      $result = $query->execute();
+      $result = $this->database->query("SELECT u.uid, u.rid FROM {users_roles} u WHERE u.uid IN (:uids) AND u.rid IN (:rids)", array(':uids' => $uids, ':rids' => array_keys($roles)));
       foreach ($result as $role) {
         $this->items[$role->uid][$role->rid]['role'] = check_plain($roles[$role->rid]->label());
         $this->items[$role->uid][$role->rid]['rid'] = $role->rid;
