json檔案引數
'''
def __init__(self, host=none, user=none, password="",
database=none, port=0, unix_socket=none,
charset='', sql_mode=none,
read_default_file=none, conv=none, use_unicode=none,
client_flag=0, cursorclass=cursor, init_command=none,
connect_timeout=10, ssl=none, read_default_group=none,
compress=none, named_pipe=none,
autocommit=false, db=none, passwd=none, local_infile=false,
max_allowed_packet=16*1024*1024, defer_connect=false,
auth_plugin_map=none, read_timeout=none, write_timeout=none,
bind_address=none, binary_prefix=false, program_name=none,
server_public_key=none):
'''#例:
import pymysql
import json
class
basedao()
:'''
通用的建立資料庫連線方法
'''def__init__
(self,configfile=
'mysql.json'):
self.config=json.load(
open
(configfile)
) self.connection=
none
self.cursor=
none
pass
defgetconnection
(self)
:if self.connection!=
none
:return self.connection
try: self.connection=pymysql.connect(
** self.config)
self.connection.autocommit(0)
except exception as e:
print
("資料庫連線失敗,請檢查配置引數"
)pass
print
("資料庫連線成功"
)return self.connection
pass
defexecute
(self,sql,params=
none):
''' 封裝執行語句的方法
:param sql: 語句
:param params: 引數列表
:return:
'''result=
0try
: self.cursor=self.getconnection(
).cursor(
)if params:
#if none!=none if none:false
result=self.cursor.execute(sql,params)
else
: result=self.cursor.execute(sql)
except exception as e:
print
(e)return result
deffetch
(self)
:if self.cursor:
return self.cursor.fetchall(
)pass
# 處理事務管理
defcommit
(self)
:if self.connection:
self.connection.commit(
)pass
# 回滾
defrollback
(self)
:if self.connection:
self.connection.rollback(
)pass
# 關閉連線
defclose
(self)
:if self.connection:
self.connection.close(
)pass
如何建立通用的資料庫結構?
像我這種天生就不太對tsql感冒的人,我想應該不少。昨天和汪警官討論起來xml在sql的應用,想想確實有道理。對於乙個字段比較多的表,或者字段經常變化的表,我們的資料庫變更,會對上層影響很大,如何來徹底解決呢?傳統的分層,orm都不能很好的解決這些問題。這個問題出在 呢?我想主要的原因是現在的關聯式...
python連阿里雲資料庫
阿里雲上的mysql,所以用的pymysql的庫。如果沒有安裝pymysql庫要先安裝。確定host,使用者名稱,密碼,介面 一般是3306 conntest pymysql.connect 11 host rm mysql.rds.aliyuncs.com 12 user abc 13 passw...
資料庫重連
4.2.10 資料庫自動重連 dbcp使用apache的物件池objectpool作為連線池的實現,在構造genericobjectpool時,會生成乙個內嵌類evictor,實現自runnable介面。如果 timebetweenevictionrunsmillis大於0,每過 timebetwe...