• thinkphp 数据库缓存


    默认的数据库驱动位于ThinkDbDriver命名空间下面,驱动类必须继承ThinkDb类,每个数据库驱动必须要实现的接口方法包括(具体参数可以参考现有的数据库驱动类库):

    驱动方法方法说明
    架构方法 __construct($config='')
    数据库连接方法 connect($config='',$linkNum=0,$force=false)
    释放查询方法 free()
    查询操作方法 query($str)
    执行操作方法 execute($str)
    开启事务方法 startTrans()
    事务提交方法 commit()
    事务回滚方法 rollback()
    获取查询数据方法 getAll()
    获取字段信息方法 getFields($tableName)
    获取数据库的表 getTables($dbName='')
    关闭数据库方法 close()
    获取错误信息方法 error()
    SQL安全过滤方法 escapeString($str)

    数据库的CURD接口方法(通常这些方法无需重新定义)大理石平台规格

    方法说明
    写入 insert($data,$options=array(),$replace=false)
    更新 update($data,$options)
    删除 delete($options=array())
    查询 select($options=array())

    介于不同数据库的查询方法存在区别,所以经常需要对查询的语句进行重新定义,这就需要修改针对查询的selectSql属性。该属性定义了当前数据库驱动的查询表达式,默认的定义是:

    1. 'SELECT%DISTINCT% %FIELD% FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%'

    驱动可以更改或者删除个别查询定义,或者更改某个替换字符串的解析方法,这些方法包括:

    方法名说明对应
    parseTable 数据库表名解析 %TABLE%
    parseWhere 数据库查询条件解析 %WHERE%
    parseLimit 数据库查询Limit解析 %LIMIT%
    parseJoin 数据库JOIN查询解析 %JOIN%
    parseOrder 数据库查询排序解析 %ORDER%
    parseGroup 数据库group查询解析 %GROUP%
    parseHaving 数据库having解析 %HAVING%
    parseDistinct 数据库distinct解析 %DISTINCT%
    parseUnion 数据库union解析 %UNION%
    parseField 数据库字段解析 %FIELD%

    驱动的其他方法根据自身驱动需要和特性进行添加,例如,有些数据库的特殊性,需要覆盖父类Db类中的解析和过滤方法,包括:

    方法名说明
    parseKey 数据库字段名解析
    parseValue 数据库字段值解析
    parseSet 数据库set分析
    parseLock 数据库锁机制

    定义了驱动扩展后,需要使用的时候,设置相应的数据库类型即可:

    1. 'DB_TYPE'=>'odbc', // 数据库类型配置不区分大小写
     
  • 相关阅读:
    基于C++ Qt实现的红色警戒3修改器
    Java多线程(十五):CountDownLatch,Semaphore,Exchanger,CyclicBarrier,Callable和Future
    Java多线程(十四):Timer
    Java多线程(十三):线程池
    Java多线程(十二):中断机制
    Java多线程(十一):线程组
    Java多线程(十):BlockingQueue实现生产者消费者模型
    德国语言+留学签证递交材料详解(上海)
    Java多线程(九):生产者消费者模型
    Java多线程(八):ReentrantReadWriteLock
  • 原文地址:https://www.cnblogs.com/furuihua/p/11842808.html
Copyright © 2020-2023  润新知