Get database connection in magento 2
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('employee'); //gives table name with prefix
Select Data from table
$sql = "Select * FROM " . $tableName;
$result = $connection->fetchAll($sql); // gives associated array, table fields as key in array.
Delete Data from table
$sql = "Delete FROM " . $tableName." Where emp_id = 10";
$connection->query($sql);
Insert Data into table
$sql = "Insert Into " . $tableName . " (emp_id, emp_name, emp_code, emp_salary) Values ('','XYZ','ABD20','50000')";
$connection->query($sql);
Update Data into table
$sql = "Update " . $tableName . "Set emp_salary = 20000 where emp_id = 12";
$connection->query($sql);
Use \Magento\Framework\App\ResourceConnection
class to get resource connection
protected $_resource;
public function __construct(
...
\Magento\Framework\App\ResourceConnection $resource
...
) {
$this->_resource = $resource;
}
/**
* $this->_resource = Mage::getSingleton('core/resource');
* $connection = $resource->getConnection('core_read');
*/
$connection = $this->_resource->getConnection(\Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION);
$tablename = $connection->getTableName('sales_order');
$query = "Sql Query";
$connection->query($query);
Using Object Manager:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('table_name');
$query = "Sql Query";
$connection->query($query);
Without a Mage class, how does a developer instantiate model or magento-singleton object? The Mage::getModel and Mage::getSingleton methods have been retired, and in their place Magento has a new “Object Manager” object.
Right now this object manager is a PHP singleton, which you can grab with the following call.
$object_manager = MagentoCoreModelObjectManager::getInstance();
Magento is moving towards an architecture where this object will be automatically available in appropriate places as the _objectManager property.
$this->_objectManager
protected $_resource;
public function __construct(
...
\Magento\Framework\App\ResourceConnection $resource
...
) {
$this->_resource = $resource;
}
$connection = $this->_resource->getConnection();
For more information check alanstorm.com