多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ### 组件说明 > Lying的数据库连接使用的Connection组件,只支持Mysql(php和mysql就像薯条配番茄酱)。 ### 配置选项 | 配置名 | 参数类型 | 可选 | 默认值 | 说明 | | --- | --- | --- | --- | --- | | class | string | 是 | lying\db\Connection | 可配置 | | dsn | string | 是 | null | 数据库dsn | | user | string | 是 | null | 数据库账号 | | pass | string | 是 | null | 数据库密码 | | options | array | 是 | [] | 额外的PDO选项 | | prefix | string | 是 | '' | 默认表前缀 | | cache | string | 是 | null | 缓存组件ID | | slave | array | 是 | [] | 从库列表 | | master | array | 是 | [] | 主库列表 | ### service配置 Lying的数据库连接示例配置如下: ~~~php 'db' => [ 'class' => 'lying\db\Connection', 'dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root', 'options' => [], //额外的PDO参数 'prefix' => 'b_', //数据库前缀 'cache' => false, //使用的缓存ID,设置为false则不使用缓存(缓存表结构) 'slave' => [ ['dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root'], ['dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root'], ['dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root'], ], 'master' => [ ], ], ~~~ ### 调用方式 ~~~php \Lying::$maker->get('db'); \Lying::$maker->db('dbId'); \Lying::$maker->db;` ~~~ ### 方法列表 db组件就是一个`lying\db\Connection`实例,其中class就是组件ID所对应的类名,并且`dsn`,`user`,`pass`都是必须的。 下面代码将为你演示db的用法: ~~~php $db = \Lying::$maker->db; //获取db组件实例 $db->masterPdo(); //获取主库PDO实例 $db->slavePdo(); //获取从库PDO实例 $db->begin(); //开始事务 $db->commit(); //提交事务 $db->rollBack(); //回滚事务 $db->lastInsertId(); //返回最后插入行的自增ID $db->prepare(); //预处理语句 $db->schema(); //获取Schema实例 $db->query(); //创建查询生成器 ~~~