Regarding term clarification in the database api
Yes, you are doing it wrong by calling \Drupal::database.

Look at Drupal\block_content\Plugin\Block\BlockContentBlock in core as an example. The create() method gets the services and passes them to the __construct() method. That is the proper way.