class BaseDB:
'''
BaseDB
dbcur should be overwirte
'''
__tablename__ = None
placeholder = '%s'
maxlimit = -1
@staticmethod
def escape(string):
return '`%s`' % string
@property
def dbcur(self):
raise NotImplementedError
escape函数是干什么的,看起来像是返回一段字符串
dbcur怎么用来调用的呢,上面说dbcur应该重写,在子类中重写吗,然后怎么调用啊
pyspider代码
https://github.com/binux/pysp...
escape
是為string加上``符號。例如你創建的table或column裡有空白字元時。錯誤的查詢:
select column name1 from hello world tb
正确的查询:
select
`column name1
`from
`hello world tb
`dbcur
這個函數拋出未實現這個異常,目的是為了充當接口,由子類去實現。 Python裡面沒有介面這個概念,所以定義介面時,可以採用這種方式。 DbBase只付責建構sql語句,具體使用何種資料庫由子類別實作,好處是可以適配不同的資料庫。源碼: