103 lines
3.0 KiB
Python
103 lines
3.0 KiB
Python
import sys
|
|
sys.path.append("../")
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
from conf.dao_config import loginfo_db_name, user_info_db_name
|
|
|
|
|
|
class MysqlServer(object):
|
|
def __init__(self, username="root", passwd="123456", hostname="localhost", port="3306",
|
|
user_info_db_name=user_info_db_name, loginfo_db_name=loginfo_db_name):
|
|
|
|
self.username = username
|
|
self.passwd = passwd
|
|
self.hostname = hostname
|
|
self.port = port
|
|
self.user_info_db_name = user_info_db_name
|
|
self.loginfo_db_name = loginfo_db_name
|
|
|
|
def session(self, db_name):
|
|
"""链接数据库,绑定映射关系
|
|
"""
|
|
# 创建引擎
|
|
engine = create_engine("mysql+pymysql://{}:{}@{}:{}/{}".format(
|
|
self.username, self.passwd, self.hostname, self.port, db_name
|
|
), encoding="utf-8", echo=False)
|
|
# 创建会话
|
|
session = sessionmaker(bind=engine)
|
|
# 返回engine 和 session, 前者用来绑定本地数据,后者用来本地操作数据库
|
|
return engine, session()
|
|
|
|
def get_register_user_session(self):
|
|
"""获取注册用户session
|
|
"""
|
|
_, sess = self.session(self.user_info_db_name)
|
|
return sess
|
|
|
|
def get_loginfo_session(self):
|
|
"""获取log日志的session
|
|
"""
|
|
_, sess = self.session(self.loginfo_db_name)
|
|
return sess
|
|
|
|
def get_user_like_session(self):
|
|
"""获取用户喜欢新闻的session
|
|
"""
|
|
_, sess = self.session(self.user_info_db_name)
|
|
return sess
|
|
|
|
def get_user_collection_session(self):
|
|
"""获取用户收藏新闻的session
|
|
"""
|
|
_, sess = self.session(self.user_info_db_name)
|
|
return sess
|
|
|
|
def get_user_exposure_session(self):
|
|
"""获取用户曝光的session
|
|
"""
|
|
_, sess = self.session(self.user_info_db_name)
|
|
return sess
|
|
|
|
def get_user_read_session(self):
|
|
"""获取用户阅读的session
|
|
"""
|
|
_, sess = self.session(self.user_info_db_name)
|
|
return sess
|
|
|
|
def get_register_user_engine(self):
|
|
"""
|
|
"""
|
|
engine, _ = self.session(self.user_info_db_name)
|
|
return engine
|
|
|
|
def get_loginfo_engine(self):
|
|
"""
|
|
"""
|
|
engine, _ = self.session(self.loginfo_db_name)
|
|
return engine
|
|
|
|
def get_user_like_engine(self):
|
|
"""获取用户喜欢新闻的engine
|
|
"""
|
|
engine, _ = self.session(self.user_info_db_name)
|
|
return engine
|
|
|
|
def get_user_collection_engine(self):
|
|
"""获取用户收藏新闻的engine
|
|
"""
|
|
engine, _ = self.session(self.user_info_db_name)
|
|
return engine
|
|
|
|
def get_user_read_engine(self):
|
|
"""获取用户阅读新闻的engine
|
|
"""
|
|
engine, _ = self.session(self.user_info_db_name)
|
|
return engine
|
|
|
|
def get_user_exposure_engine(self):
|
|
"""获取用户曝光的engine
|
|
"""
|
|
engine, _ = self.session(self.user_info_db_name)
|
|
return engine
|
|
|