说明
ORM,全称Object-Relational Mapping,即对象-关系映射,是一种程序设计技术,用于在面向对象编程语言和关系数据库之间建立对应关系。它的主要目的是让开发者能够使用面向对象的方式操作数据库,而不必过多地关注数据库底层的细节。
通过ORM,开发者可以将数据库中的表映射成面向对象的类,表中的行则映射成对象的实例。这样做的好处是,在编写应用程序时,开发者可以直接使用面向对象的语法来进行数据库操作,比如创建、更新、删除和查询数据,而无需编写复杂的SQL语句。ORM框架会负责将面向对象操作翻译成对应的数据库操作,从而简化了开发流程。
常见的ORM框架包括Hibernate(Java)、Entity Framework(.NET)、Django ORM(Python)、Sequelize(Node.js)等,它们提供了丰富的功能和工具,使得开发者能够更高效地与数据库进行交互,并且能够在一定程度上实现数据库的抽象,从而提高了应用程序的可维护性和可移植性。
接下来我们用SqlAlchemy实现对数据库的增删改查。
代码实现:
from sqlalchemy import create_engine
from sqlalchemy import Column,String,Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import pymysql
# 初始化数据库连接
engine=create_engine('mysql+pymysql://root:root@localhost:3306/flask_1?charset=utf8')
Base=declarative_base() # 生成SQLORM基类(创建对象的基类)
class User(Base):
# 表名
__tablename__='user'
# 表结构
id=Column(Integer,primary_key=True)
user_id=Column(String(50),nullable=False)
username=Column(String(50),nullable=False)
head_img=Column(String(200))
short_description=Column(String(300))
# 生成链接数据库的实例
session=sessionmaker(bind=engine)()
# #增操作,增加1条记录
# item=User(id=3,user_id='3',username='hacker',head_img='3.png',short_description='增加一个数据')
# session.add(item)
# session.commit()
# session.close()
# #查操作
# users=session.query(User).filter(User.id<4).all()
# for i in range(len(users)):
# print(users[i].username)
# session.close()
# #改操作,将id为3的记录的username改为'Geek'
# session.query(User).filter(User.id==3).update({User.username:'Geek'})
# session.commit()
# session.close()
#删操作,将id为3的记录删除
session.query(User).filter(User.id==3).delete()
session.commit()
session.close()
效果展示:
增
代码执行前
代码执行后
查
代码执行后
改
代码执行前
代码执行后
删
代码执行前
代码执行后