<?php<liu21st@gmail.com>declare (strict_types = 1);
namespace think\db;
use Psr\SimpleCache\CacheInterface;
use think\DbManager;
interface ConnectionInterface
{
public function getQueryClass(): string;
public function table($table);
public function name($name);
public function connect(array $config = [], $linkNum = 0);
public function setDb(DbManager $db);
public function setCache(CacheInterface $cache);
public function getConfig(string $config = '');
public function close();
public function find(BaseQuery $query): array;
public function select(BaseQuery $query): array;
public function insert(BaseQuery $query, bool $getLastInsID = false);
public function insertAll(BaseQuery $query, array $dataSet = []): int;
public function update(BaseQuery $query): int;
public function delete(BaseQuery $query): int;
public function value(BaseQuery $query, string $field, $default = null);
public function column(BaseQuery $query, string $column, string $key = ''): array;
public function transaction(callable $callback);
public function startTrans();
public function commit();
public function rollback();
public function getLastSql(): string;
}