使用sqlalchemy创建单条数据-分层管理代码
这里主要是如何把整个流程的代码分层管理,方便维护
不拆分层次,整个流程顺下来的代码看这里:sqlAlchemy基本使用
项目结构:
model.py用来描述表结构:
1 from sqlalchemy import Column,String,Integer
2 from sqlalchemy.ext.declarative import declarative_base
3
4 #创建对象的基类
5 Base=declarative_base()
6
7 #定义User对象
8 class User(Base):
9 __tablename__="user"
10
11 id = Column(String(20),primary_key=True)
12 name = Column(String(20))
13
14 def __repr__(self):
15
16 return "<User>%s"%self.name
getConnection.py获取数据库连接
1 #导入依赖
2 from sqlalchemy import create_engine
3 from sqlalchemy.orm import sessionmaker
4 from sqlalchemy.ext.declarative import declarative_base
5
6 #创建对象的基类
7 Base=declarative_base()
8
9 #初始化数据库连接
10 engine = create_engine("mysql+mysqlconnector://root:admin123456@10.1.71.32:3306/test")
11
12 #创建DBSession类型
13 DBSession = sessionmaker(bind=engine)
14
15 #创建Session对象
16 session = DBSession()
17
18 if __name__ == "__main__":
19 import model
20 newuser= model.User(id=3,name="Lisa")
21 session.add(newuser)
22 session.commit()
23 session.close()
main.py执行增删改查操作:
1 #导入依赖
2 from model import User
3 from getConnection import session
4
5 # 创建User对象
6 newuser = User(id=4, name="曹操")
7 # 添加到session
8 session.add(new_user)
9 # 提交
10 session.commit()
11 # 关闭session
12 session.close()
遇到的异常及解决办法:
ModuleNotFoundError: No module named 'mysql'
mysql.connector.errors.ProgrammingError: 1698 (28000): Access denied for user 'root'@'localhost'