diff --git a/bee/context.py b/bee/context.py index 2ef0f810c56f8954b2bd896eb18773244c7e77e9..53435a5bacda771d0c6cfb69e40a2f93420323b1 100644 --- a/bee/context.py +++ b/bee/context.py @@ -18,7 +18,8 @@ class HoneyContext: conn = factory.get_connection() if conn is not None: # conn.ping(reconnect=True) #重新获取,要重连。 只是mysql? - return conn + if HoneyContext.is_active_conn(conn): + return conn honeyConfig = HoneyConfig() config = honeyConfig.get_db_config_dict() @@ -53,3 +54,23 @@ class HoneyContext: #还要有set的方法,或在配置文件中设置 TODO + + + @staticmethod + def is_active_conn(conn): + + honeyConfig=HoneyConfig() + dbName=honeyConfig.get_dbName().lower() + + if dbName is None: + return False + elif dbName == DatabaseConst.MYSQL.lower(): + try: + conn.ping(reconnect=True) + return True + except Exception: + return False + #TODO support other DB + + return False + \ No newline at end of file diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/entity/Orders.py b/test/entity/Orders.py new file mode 100644 index 0000000000000000000000000000000000000000..1fb8ed1d4b602299c3f73a29aee6696bc4f72914 --- /dev/null +++ b/test/entity/Orders.py @@ -0,0 +1,18 @@ +''' + +这种可以不需要构造方法。 +不写属性的类型 + +Created on 2024年10月19日 + +@author: BeePy +''' + +class Orders: + id = None + name = None + remark = None + + def __repr__(self): + return str(self.__dict__) + diff --git a/test/entity/__init__.py b/test/entity/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/exam/SuidTest1.py b/test/exam/SuidTest1.py new file mode 100644 index 0000000000000000000000000000000000000000..3eab731cfc13a6d93fbabb3783465854ffa99902 --- /dev/null +++ b/test/exam/SuidTest1.py @@ -0,0 +1,25 @@ +# from org.teasoft.exam.entity.Orders import Orders +# from bee.api import Suid +from bee.api import Suid +from test.entity.Orders import Orders + + +# from org.teasoft.exam.entity.Test import Test +if __name__ == '__main__': + print("start") + + # orders=Orders(id=1, name="bee") + orders=Orders() + # orders = Test() + # orders.id=1 + orders.name = "bee" + + suid = Suid() + orderList = suid.select(orders) #test + orderList = suid.select(orders) + # print(orderList) + + for one in orderList: + print(one) + + print("finished") diff --git a/test/exam/__init__.py b/test/exam/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/exam/bee.db b/test/exam/bee.db new file mode 100644 index 0000000000000000000000000000000000000000..afa0d7ca797467f70ba2a470fdd8a069cc750e7c Binary files /dev/null and b/test/exam/bee.db differ diff --git a/test/exam/bee.json b/test/exam/bee.json new file mode 100644 index 0000000000000000000000000000000000000000..1022fd1128e1c0055a234ecb38e4e698bd5be6a5 --- /dev/null +++ b/test/exam/bee.json @@ -0,0 +1,5 @@ + { + "dbName": "SQLite", + "database": "bee.db", + "dbModuleName":"sqlite3" + } \ No newline at end of file diff --git a/test/exam/bee.properties b/test/exam/bee.properties new file mode 100644 index 0000000000000000000000000000000000000000..9fd8ef6e064d4de44310811c5f1fab1c054c8067 --- /dev/null +++ b/test/exam/bee.properties @@ -0,0 +1,22 @@ + + # 'dbName':'MySQL', + # 'host': 'localhost', # \u6570\u636E\u5E93\u4E3B\u673A + # 'user': 'root', # \u66FF\u6362\u4E3A\u60A8\u7684 MySQL \u7528\u6237\u540D + # 'password': '', # \u66FF\u6362\u4E3A\u60A8\u7684 MySQL \u5BC6\u7801 + # 'database': 'bee', # \u66FF\u6362\u4E3A\u60A8\u7684\u6570\u636E\u5E93\u540D\u79F0 + # 'port':3306 + +#value is: MySql,SQLite,Oracle, +#MySQL config +#bee.db.dbName=MySQL +#bee.db.host =localhost +#bee.db.user =root +#bee.db.password = +#bee.db.database =bee +#bee.db.port=3306 + +# SQLite + +bee.db.dbName=SQLite +bee.db.database =bee.db +