日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python之数据库连接

發(fā)布時(shí)間:2024/7/5 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python之数据库连接 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

? ? ? ? ? 前幾日,閑來(lái)無(wú)事,寫了一個(gè)python來(lái)連接數(shù)據(jù)庫(kù)的模板案例,仿照傳統(tǒng)MVC的例子。代碼如下:

DBUtil

import pymysqlclass DBUtil:__db = None__obj = None__init_flag = True__cursor = Nonedef __new__(cls, *args, **kwargs):if cls.__obj is None:cls.__obj = object.__new__(cls)return cls.__objdef __init__(self):if DBUtil.__init_flag:# 創(chuàng)建數(shù)據(jù)庫(kù)DBUtil.__db = pymysql.connect(host='127.0.0.1', user='root', password='XXXXX', database='labex', port=3306)# 創(chuàng)建游標(biāo)對(duì)象cursorDBUtil.__cursor = DBUtil.__db.cursor()def execute(self,sql, *params):try:if sql:raise RuntimeError('"你傳入的SQL為空或是一個(gè)查詢語(yǔ)句"')if len(params) > 0:DBUtil.__cursor.execute(sql, params)DBUtil.__db.commit()else:DBUtil.__cursor.execute(sql)DBUtil.__db.commit()except Exception as e:print(e)DBUtil.__db.rollback()print("執(zhí)行語(yǔ)句失敗")def executeQuery(self,sql, *params):try:if not sql:raise RuntimeError('"你傳入的SQL為空"')if len(params) > 0:DBUtil.__cursor.execute(sql, params)desc = DBUtil.__cursor.description # 獲取字段的描述,data_dict = [dict(zip([col[0] for col in desc], row)) for row in DBUtil.__cursor.fetchall()] # 列表表達(dá)式把數(shù)據(jù)組裝起來(lái)return data_dictelse:print("ssss")DBUtil.__cursor.execute(sql)desc = DBUtil.__cursor.description # 獲取字段的描述,data_dict = [dict(zip([col[0] for col in desc], row)) for row in DBUtil.__cursor.fetchall()] # 列表表達(dá)式把數(shù)據(jù)組裝起來(lái)return data_dictexcept Exception as e:print(e)DBUtil.__db.rollback()print("執(zhí)行語(yǔ)句失敗")

StudentItemDao

from dao.DBUtil import DBUtil from entity.StudentItem import StudentItemclass StudentItemDao:@staticmethoddef listAllStudentItems():dBUtil = DBUtil()sql = "select * from t_student_item"studentItemList = []for row in dBUtil.executeQuery(sql):studentItem = StudentItem()studentItem.set_student_item_id(row.get("student_item_id"))studentItem.set_student_id(row.get("student_id"))studentItem.set_item_id(row.get("tem_id"))studentItem.set_score(row.get("score"))studentItem.set_score_flag(row.get("score_flag"))studentItem.set_fill_time(row.get("fill_time"))studentItem.set_content(row.get("content"))studentItemList.append(studentItem)return studentItemList

StudentItemLogDao

from dao.DBUtil import DBUtil from entity.StudentItemLog import StudentItemLogclass StudentItemLogDao:@staticmethoddef listAllStudentItemLogs():dBUtil = DBUtil()sql = "select * from t_student_item_log"studentItemLogList = []for row in dBUtil.executeQuery(sql):studentItemLog = StudentItemLog()studentItemLog.set_log_id(row.get("log_id"))studentItemLog.set_student_item_id(row.get("student_item"))studentItemLog.set_fill_time(row.get("fill_time"))studentItemLog.set_content(row.get("content"))studentItemLogList.append(studentItemLog)return studentItemLogList

StudentItemEntity

class StudentItem:def __init__(self, student_item_id = None, student_id = None, item_id= None, content= None, score= None, fill_time= None, score_flag= None):self.__student_item_id = student_item_idself.__student_id = student_idself.__item_id = item_idself.__content = contentself.__score = scoreself.__fill_time = fill_timeself.__score_flag = score_flagdef get_student_item_id(self):return self.__student_item_iddef get_student_id(self):return self.__item_iddef get_item_id(self):return self.__item_iddef get_content(self):return self.__contentdef get_score(self):return self.__scoredef get_fill_time(self):return self.__fill_timedef get_score_flag(self):return self.__score_flagdef set_student_item_id(self,student_item_id):self.__student_item_id = student_item_iddef set_student_id(self,student_id):self.__item_id = student_iddef set_item_id(self,item_id):self.__item_id = item_iddef set_content(self,content):self.__content = contentdef set_score(self,score):self.__score = scoredef set_fill_time(self,fill_time):self.__fill_time = fill_timedef set_score_flag(self,score_flag):self.__score_flag = score_flag

StudentItemLogEntity

class StudentItemLog:def __init__(self, log_id= None, student_item_id= None, content= None, fill_time= None):self.__log_id = log_idself.__student_item_id = student_item_idself.__content = contentself.__fill_time = fill_timedef get_student_item_id(self):return self.__student_item_iddef set_student_item_id(self,student_item_id):self.__student_item_id = student_item_iddef set_log_id(self, log_id):self.__log_id = log_iddef get_log_id(self):return self.__log_iddef set_content(self, content):self.__content = contentdef get_fill_time(self):return self.__fill_timedef set_fill_time(self,fill_time):self.__fill_time = fill_timedef get_content(self):return self.__content

Main

from dao.StudentItemLogDao import StudentItemLogDao from dao.StudentItemDao import StudentItemDaofor studentItem in StudentItemDao.listAllStudentItems():print(studentItem.get_content())for studentItemLog in StudentItemLogDao.listAllStudentItemLogs():print(studentItemLog.get_content())

?

總結(jié)

以上是生活随笔為你收集整理的python之数据库连接的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。