PDO分页查询模块介绍
来源:互联网 发布:sm600模拟器软件下载 编辑:程序博客网 时间:2024/06/01 20:27
简介
源码请移步GitHub
schu-database
是SchuEngine中的数据库模块,可以独立使用,也可以利用zend-servicemanager
驱动.
与上个版本的schu-database
不同,这个版本完全脱离zend-db
,依托于使用最广泛的PDO
扩展,实现与数据库的交互.
之所以弃用zend-db
作为底层,是因为其高昂的学习成本,直接导致了schu-database
更加高昂的学习成本,需要不停的查阅手册,这不利于SchuEngine
最初的期望.
在用法上schu-database
完全等同于PDO
的原生操作,最大程度上降低了学习成本.
在分页上,schu-database
会通过传入的SQL语句.在原有SQL的基础上,自动生成分页查询,并且调用极其简单.
依赖
PDO扩展
安装
$ composer require schuengine/schu-database
配置
一般情况下(完全等同于PDO的__construct
):
<?phpuse Schu\Database\Database;/** * data source name of PDO $dsn * db username $user * db password $password * options array $options */$db = new Database($dsn, $user, $password, $options);
传入数组:
<?phpuse Schu\Database\Database;$dbOptions = [ 'dsn' => 'mysql:host=localhost;dbname=test', 'username' => 'username', 'password' => '********', 'options' => [ //PDO options ],];$db = new Database($dbOptions);
通过zend-servicemanager
//在 ./config/autoload/global.php中'schu-database' => [ 'dsn' => 'mysql:host=localhost;dbname=test', 'options' => [ //PDO options ],],//在./config/autoload/local.php中'schu-database' => [ 'username' => 'username', 'password' => '********',],//在应用中$db = $container->get('schu-database');
使用
在使用过程中,schu-database
的操作完全继承了PDO
,比PDO
多一个接口,即分页.后续介绍.
所以,你可以直接将Schu\Database\Database
即上例中的$db
当做PDO
来操作.
分页
schu-database
的分页接口非常简单如下:
/** * Get paginator result * * @param integer $page * @param integer $itemCountPerPage * @param string $sql * @throws \Schu\Database\Exception\InvalidArgumentException * @throws \Schu\Database\Exception\RuntimeException * @return Page */ public function getPaginatorResult($page, $itemCountPerPage, $sql);
调用后,schu-database
会自动解析传入的SQL
语句.
- 获得原始的
ORDER BY
,LIMIT
,OFFSET
以及子查询语句
. - 生成原
SQL
语句的COUNT
语句. - 比对
LIMIT
和COUNT
结果,输出正确的结果集总数. - 生成分页查询语句.
- 实例化\Schu\Database\Page,并返回.
类\Schu\Database\Page中包含分页结果集的全部数据,包括:
- 当前页
- 总页数
- 每页条目数
- 总条目数
- 结果集数组
- 原查询语句
- 分页查询语句
- COUNT语句
详细API请移步PageInterface
阅读全文
0 0
- PDO分页查询模块介绍
- pdo分页
- Oracle中分页查询介绍
- 主流数据库分页查询介绍
- 主流数据库分页查询介绍
- pdo类,分页类
- PDO的分页效果
- 通用数据库jsp分页查询模块
- 通用数据库jsp分页查询模块
- 复习pdo,插入,查询
- PDO参数化查询
- pdo 查询结果处理
- pdo查询数据库
- PDO预处理查询,插入
- pdo介绍与学习
- PHP PDO介绍
- teacher——PDO分页
- PHP通用数据查询及分页函数模块
- JZOJ5400. 【NOIP2017提高A组模拟10.7】Repulsed
- ZendFramework3数据库操作zend-db
- 竞争条件与互斥
- Mybatis一级、二级缓存
- 死锁
- PDO分页查询模块介绍
- Mysql—数据模型
- SESSION机制及其安全管理
- 用两个stack实现Queue(java)
- Java--File 类的常用方法
- Unity2D游戏入门教程(一)宝石迷阵(6)宝石下落
- java的类成员访问控制权限
- 概率DP A1295 necklace
- httpURLConnection