import pymysql
from pymysql.converters import encoders
class MyPyCursor(pymysql.cursors.DictCursor):
def mogrify(self, query, args=None):
sql = super().mogrify(query, args)
print("最终的sql:", sql)
return sql
def dump(val, mapping=None):
return encoders[str](str(val), mapping)
class MyDump(object):
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return f"<MyDump: a-{self.a} b-{self.b}>"
encoders[MyDump] = dump
if __name__ == '__main__':
conn = pymysql.connect(host=host, port=int(port), user=user,
password=passwd, db=db, charset=charset,
conv=encoders,
)
with conn.cursor(MyPyCursor) as cursor:
cursor.execute("select %s as a", [MyDump('"', "'")])
result = cursor.fetchone()
print(result)
python mysql 自定义序列化类 以及输出最终sql
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 0. 问题 go的json对Time类型的序列化结果是2020-07-16T14:49:50.3269159+08...
- 我们需要写一个配置文件:redisCaccheConf先写结论:纯手打,直接复制过去可能会飘红,不确定有那个字母按...
- 配置序列化时日期类型的格式不为时间戳 配置反序列化忽略多余字段 配置采用直接处理字段的方式序列化反序列化 配置支持...
- 关于 avro 的 maven 工程的搭建以及 avro 的入门知识,可以参考: Apache Avro 入门 ...