当前位置: 首页 > news >正文

摄影网站怎么备案阿里云网站备案多少天

摄影网站怎么备案,阿里云网站备案多少天,能打开各种网站的浏览器下载合集,中国域名注册最近使用它交互数据库#xff0c;想实现类似java aop那种自动事务控制#xff0c;不用手动commit或者rollback。我是用的是flaskdenpendency-injecter 这是我的db的配置类#xff0c;里面会初始化一些session配置#xff0c;里面比较重要的是把autocommit和autoflush关闭了… 最近使用它交互数据库想实现类似java aop那种自动事务控制不用手动commit或者rollback。我是用的是flaskdenpendency-injecter 这是我的db的配置类里面会初始化一些session配置里面比较重要的是把autocommit和autoflush关闭了因为我们的代码会来处理这个还有就是把expire_on_commit设置为flase否则你commit之后再取用某个entity就会报错了例如你新建了一个entity这个时候会更新他的id返回给前端的时候就会报错了Error Messages — SQLAlchemy 2.0 Documentation。 Database module.from contextlib import contextmanager, AbstractContextManager from typing import Callablefrom sqlalchemy import create_engine, orm from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import Session Base declarative_base()class DatabaseConfig:def __init__(self, db_url: str) - None:self._engine create_engine(db_url, echoTrue)self._session_factory orm.scoped_session(orm.sessionmaker(autocommitFalse,autoflushFalse,expire_on_commitFalse,bindself._engine,),)def create_database(self) - None:Base.metadata.create_all(self._engine)contextmanagerdef session(self) - Callable[..., AbstractContextManager[Session]]:session: Session self._session_factory()try:yield sessionexcept Exception:session.rollback()raiseelse:if session._transaction.is_active:session.commit()session.close()然后comtextmanger里面就是我们的处理代码了我们主要依靠with代码块来控制在yield之前的属于__init__在yield之后属于__exit__也就是当with代码块结束之前如果发生任何报错我们都会进行rollback操作并且raise(这部分需要error handler来做了这里就不赘述了)然后如果什么错误都没有发生就检测transaction是否还是active如果是就commit然后关闭session。 然后在Container中注入session contextmanager。 class Container(containers.DeclarativeContainer):wiring_config containers.WiringConfiguration(packages[main])config providers.Configuration(yaml_files[config.yml])dbproviders.Singleton(DatabaseConfig,db_urlconfig.db.url)user_repository providers.Factory(UserRepositoryImpl)user_service providers.Factory(UserService,user_repositoryuser_repository,session_factorydb.provided.session) 然后再service层使用with代码块控制transation 整个逻辑包含在同一个with中就行了。 class UserService:injectdef __init__(self, user_repository: UserRepository, session_factory: Callable[..., AbstractContextManager[Session]]) - None:self._repository: UserRepository user_repositoryself.session_factorysession_factorydef create_user(self,user) - User:with self.session_factory() as session:return self._repository.add(sessionsession,useruser) 然后在repo里面写具体代码就行了 class UserRepositoryImpl(UserRepository):def __init__(self) - None:passdef add(self, user,session):session.add(user)return user
http://www.zqtcl.cn/news/674233/

相关文章:

  • 网站建设推广话术wordpress 不显示缩略图
  • 企业电子商务网站建设和一般百拓公司做网站怎么样
  • 吉林网站建设司上海什么做网站的公司比较好
  • 吉安市建设规划局网站jsp wordpress
  • 建设银行贵金属网站微信小程序注册后怎么使用
  • 如何做律师网站河南建网站 优帮云
  • 云阳如何做网站网站建设旅游
  • 推荐一个简单的网站制作单位网站服务的建设及维护
  • tp5网站文档归档怎么做网站 信用卡支付接口
  • phpcms 企业网站网站建设中单页代码
  • 坑梓网站建设方案网络编程技术及应用
  • 电子商务网站建设 价格新媒体运营需要具备哪些能力
  • 做生存分析的网站电商网站运营建设的目标
  • 佛山 做网站邮箱官方网站注册
  • 生成flash的网站源码表白二维码制作网站
  • 定做专业营销型网站网站开发应用
  • 万盛建设局官方网站如何用群晖nas做网站
  • 建设装饰网站郑州惠济区建设局网站
  • 网站做标题有用吗网站优化多少钱
  • 婚庆设备租赁网站源码如何进行网站的建设和维护
  • 青岛做网站公wordpress文章付费阅读
  • 小灯具网站建设方案360优化大师
  • 开发公司与物业公司前期合同网站优化的推广
  • 汉堡云虚拟主机aso安卓优化公司
  • 医院 网站建设 新闻营销外包
  • 优秀网站网址郑州无痛人流哪家医院好
  • 备案网站能打开吗大良营销网站建设流程
  • 哪些网站可以做淘宝店招石油网站编辑怎么做
  • 网站出现建设中集团网站建设特点
  • asp网站开发 pdf企业展厅设计公司盛世笔特