TableHelper
TableHelper
是对数据库操作进行的封装。
以下示例根据此表接口进行操作
CREATE TABLE `test` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`nick` varchar(20) NOT NULL COMMENT '昵称',
`gender` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '性别:1:男,2:女',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表';
查询
- getAll($where, $keyword) 返回多条查询记录,二维数组
- getRow($where, $keyword) 返回一条查询记录,一维数组
- getCount($where, $keyword) 返回符合查询条件的记录数量
- getOne($where, $keyword) 返回符合条件一行的第一列记录
- getCol($where, $keyword) 返回列记录
$where
是确切值查询条件,比如主键
$where = [
'id' => 1,
];
// or
$where = [
'nick' => 'solu',
'gender' => 1,
];
getRow($where);
复杂查询可以组合$keyword
配置查询
$where = [
];
$keyword = [
'_field' => 'id,nick', // 指定查询字段
'_where' => "nick like 'so%'", // 复杂where条件
'_limit' => '0,5', // 查询数量
'_sortKey' => 'id DESC', // 排序
'_groupby' => 'id', // 分组操作
'_debug' => true, // 打印sql语句,会结束程序运行
];
getAll($where, $keyword);
插入
- addObject($data) 插入一条数据
- addObjects($cols, $datas) 插入多条数据,需要指定字段$cols
- addObjects2($datas) 插入多条记录,读取第一条记录字段名
- addObjectNx($data, $where) 如果不存在才进行插入操作
- replaceObject($data) replace into 插入数据
$data = [
'nick' => 'solu',
'gender' => 1,
];
addObject($data);
$cols = ['nick', 'gender'];
$datas = [
[
'nick' => 'solu',
'gender' => 1,
],
[
'nick' => 'some'
'gender' => 1,
],
];
addObjects($cols, $datas);
// or
addObjects2($datas);
删除
- delObject($where) 删除记录
$where = ['id' => 1];
delObject($where);
更新
- updateObject($data, $where) 更新操作
$where = ['id' => 1];
$data = ['nick' => 'foobar'];
updateObject($data, $where);
Redis2Mysql
Redis2Mysql
是对TableHelper
进行缓存封装,使用方法上基本保持一致。