編寫表DAO類
有幾個表寫幾個DAO,每個DAO裡有CRUD四項操作 account_dao 放在 com.dao包裡
"""賬號表DAO"""
# coding=utf-8
from com.dao.base_dao import BaseDao
import pymysql
# 建立賬號表DAO類,執行CRUD四種方法
class AccountDao(BaseDao):
def __init__(self):
super().__init__()
# 查詢賬號是否存在
def r_id(self, userid):
account = None
try:
with self.conn.cursor() as cur:
sql = 'select userid, password from account where userid = %s'
aft = cur.execute(sql, userid)
if aft > 0:
row = cur.fetchone()
if row is not None:
account = {'userid': row[0], 'password': row[1]}
else:
print('無此賬號')
except pymysql.DatabaseError as e:
print('查詢失敗!', e)
finally:
self.close()
return account
# 查詢全部賬號
def r_all(self):
accounts = []
try:
with self.conn.cursor() as cur:
sql = 'select userid, password from account'
aft = cur.execute(sql)
if aft > 0:
print('查詢到{0}個賬號'.format(aft))
result_set = cur.fetchall()
for row in result_set:
account = {'userid': row[0], 'password': row[1]}
accounts.append(account)
else:
print('無資料')
except pymysql.DatabaseError as e:
print('查詢失敗!', e)
finally:
self.close()
return accounts
# 新增賬號
def c_account(self, userid, password):
try:
with self.conn.cursor() as cur:
sel_id = 'select * from account where userid = %s'
aft = cur.execute(sel_id, userid)
if aft > 0:
print('此賬號已存在: {0}'.format(userid))
else:
sql = 'insert into account(userid, password) values(%s, %s)'
cur.execute(sql, (userid, password))
self.conn.commit()
print('新增成功')
except pymysql.DatabaseError as e:
self.conn.rollback()
print('新增失敗!', e)
finally:
self.close()
# 修改密碼
def u_password(self, userid, password):
try:
with self.conn.cursor() as cur:
sql = 'update account set password=%s where userid = %s'
aft = cur.execute(sql, (password, userid))
if aft > 0:
self.conn.commit()
print('修改成功', aft)
else:
print('內容沒有更新')
except pymysql.DatabaseError as e:
self.conn.rollback()
print('修改失敗!', e)
finally:
self.close()
# 刪除賬戶
def d_account(self, userid):
try:
with self.conn.cursor() as cur:
sql = 'delete from account where userid = %s'
aft = cur.execute(sql, userid)
if aft > 0:
self.conn.commit()
print('刪除成功')
else:
print('無此賬號!')
except pymysql.DatabaseError as e:
self.conn.rollback()
print('刪除失敗!', e)
finally:
self.close()
相關文章
- java工具類編寫思考Java
- fastadmin分類表單寫法AST
- 如何編寫第一個 ngrx Effect 類
- Android多程式之手動編寫Binder類Android
- MVC下的DAO介面類和SERVICE介面類區別?MVC
- 為你的Django APP 寫一層 DAODjangoAPP
- 用 GoLang 編寫類似 Apache Camel 路由引擎GolangApache路由
- Hibernate 泛型實現 dao 層的基類泛型
- 如何使用 Laravel Collections 類編寫神級程式碼Laravel
- 六:Dao
- Laravel-admin 表單提交兩級聯動功能編寫Laravel
- Wez:Rust編寫的類似Powershell的終端模擬器Rust
- shellcode編寫
- Dockerfile編寫Docker
- 文件編寫
- 編寫DockerFileDocker
- Re從零開始的UI庫編寫生活之表單UI
- FastReport VCL報表控制元件教程:元件編輯器寫作AST控制元件
- PDF 檔案編寫器 C# 類庫(版本 1.28.0)使用詳解C#
- java DAO模式Java模式
- 用託管類庫的方式在C#中使用C++編寫的類(設計流程)C#C++
- vscode編寫markdownVSCode
- 如何編寫DockerfileDocker
- Layout的編寫
- Java程式編寫Java
- markdown文件編寫
- 資料庫課程作業筆記 - 編寫表單驗證資料庫筆記
- 雜湊表:如何實現word編輯器的拼寫檢查?
- 使用Chatgpt編寫的PHP資料庫pdo操作類(增刪改查)ChatGPTPHP資料庫
- Sublime 編寫編譯 swift程式碼編譯Swift
- dao層 和controllerController
- 電商類的 BI 報表和數倉資料需要怎麼測試呢,測試用例需要怎麼編寫呢
- 驚喜!終於找到了 Laravel-admin 中使用請求類驗證表單的方法,無需再次編寫多條 rulesLaravel
- springmvc高可用響應物件以及全域性異常處理類的編寫SpringMVC物件
- python(django(管路頁面、概況、編寫檢視佔位、編寫一個真正的檢視、丟擲錯誤、檢視使用模板系統、去除硬編碼url、為url新增命名開空間、編寫表單))PythonDjango
- MarkDown文件的編寫
- HTML Email的編寫HTMLAI
- 編寫註冊介面