python 三层架构思想写代码。

在 Python 中实现数据库操作的三层架构一般包括以下三层:

  1. 数据访问层(Data Access Layer):负责与数据库进行交互,执行 SQL 查询和更新操作。

  2. 业务逻辑层(Business Logic Layer):处理业务逻辑,对数据进行处理和加工,调用数据访问层提供的接口完成数据的增删改查操作。

  3. 表现层(Presentation Layer):与用户交互,接收用户输入并展示数据,将用户请求传递给业务逻辑层进行处理,并将处理结果展示给用户。

下面是一个简单的示例,展示如何使用三层架构实现 Python 中的增删改查操作:

# 数据访问层
class Database:
    def __init__(self, connection):
        self.connection = connection

    def execute_query(self, query, params=None):
        cursor = self.connection.cursor()
        if params:
            cursor.execute(query, params)
        else:
            cursor.execute(query)
        return cursor.fetchall()

    def execute_update(self, query, params=None):
        cursor = self.connection.cursor()
        if params:
            cursor.execute(query, params)
        else:
            cursor.execute(query)
        self.connection.commit()
        return cursor.rowcount

# 业务逻辑层
class DataAccessLayer:
    def __init__(self, database):
        self.db = database

    def create_record(self, data):
        query = "INSERT INTO table_name (column1, column2, ...) VALUES (%s, %s, ...)"
        return self.db.execute_update(query, data)

    def update_record(self, id, data):
        query = "UPDATE table_name SET column1 = %s, column2 = %s WHERE id = %s"
        params = (data['column1'], data['column2'], id)
        return self.db.execute_update(query, params)

    def delete_record(self, id):
        query = "DELETE FROM table_name WHERE id = %s"
        return self.db.execute_update(query, (id,))

    def get_record(self, id):
        query = "SELECT * FROM table_name WHERE id = %s"
        result = self.db.execute_query(query, (id,))
        return result[0] if result else None

# 表现层
def main():
    # 建立数据库连接
    connection = create_database_connection()

    # 初始化数据访问层
    db = Database(connection)
    dal = DataAccessLayer(db)

    # 业务逻辑操作示例
    # 创建记录
    data_to_insert = {'column1': value1, 'column2': value2, ...}
    inserted_rows = dal.create_record(data_to_insert)

    # 更新记录
    record_id_to_update = 1
    data_to_update = {'column1': new_value1, 'column2': new_value2, ...}
    updated_rows = dal.update_record(record_id_to_update, data_to_update)

    # 删除记录
    record_id_to_delete = 1
    deleted_rows = dal.delete_record(record_id_to_delete)

    # 查询记录
    record_id_to_get = 1
    record = dal.get_record(record_id_to_get)
    if record:
        print("Record found:", record)
    else:
        print("Record not found.")

    # 关闭数据库连接
    connection.close()

if __name__ == "__main__":
    main()

相关推荐

  1. python 架构思想代码

    2024-04-01 17:40:05       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 17:40:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 17:40:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 17:40:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 17:40:05       18 阅读

热门阅读

  1. python 移位运算符

    2024-04-01 17:40:05       20 阅读
  2. TTL值(Time-To-Live)简介

    2024-04-01 17:40:05       17 阅读
  3. NoSQL(非关系型数据库)之Redis

    2024-04-01 17:40:05       27 阅读
  4. 编程练习(python)

    2024-04-01 17:40:05       15 阅读
  5. 大模型之路1:趟一条小路

    2024-04-01 17:40:05       18 阅读
  6. 关于python中常用命令(持续更新中)

    2024-04-01 17:40:05       21 阅读
  7. 2024.2.9力扣每日一题——二叉树的最近公共祖先

    2024-04-01 17:40:05       16 阅读
  8. SpringAOP和AspectJ有什么关系 ?

    2024-04-01 17:40:05       18 阅读
  9. ActiViz中的数据存储vtkDataArray

    2024-04-01 17:40:05       20 阅读