From 1691c1a9a2c7330dc90c450d2c885fbf0fade409 Mon Sep 17 00:00:00 2001
From: wangky <m1561510467@163.com>
Date: 星期三, 30 十月 2024 12:32:07 +0800
Subject: [PATCH] 1
---
/dev/null | 91 ---------------------------------------------
Server/王琨元/document/数据库模块需求分析.docx | 0
Server/王琨元/document/建表.docx | 0
3 files changed, 0 insertions(+), 91 deletions(-)
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/document/\345\215\225\344\276\213\346\250\241\345\274\217\345\260\201\350\243\205.txt" "b/Server/\347\216\213\347\220\250\345\205\203/document/\345\215\225\344\276\213\346\250\241\345\274\217\345\260\201\350\243\205.txt"
deleted file mode 100644
index c07f1df..0000000
--- "a/Server/\347\216\213\347\220\250\345\205\203/document/\345\215\225\344\276\213\346\250\241\345\274\217\345\260\201\350\243\205.txt"
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <iostream>
-#include <memory>
-#include <mutex>
-#include <string>
-#include <mysql_driver.h>
-#include <mysql_connection.h>
-#include <cppconn/statement.h>
-#include <cppconn/resultset.h>
-
-class DatabaseOperator {
-private:
- // 绉佹湁鏋勯�犲嚱鏁�
- DatabaseOperator() {
- try {
- driver = sql::mysql::get_mysql_driver_instance();
- connection = driver->connect("tcp://127.0.0.1:3306", "username", "password");
- connection->setSchema("your_database");
- } catch (sql::SQLException &e) {
- std::cerr << "鏁版嵁搴撹繛鎺ラ敊璇�: " << e.what() << std::endl;
- }
- }
-
- static DatabaseOperator* instance;
- static std::mutex mutex;
- sql::Driver* driver;
- std::unique_ptr<sql::Connection> connection;
-
-public:
- // 鑾峰彇鍗曚緥瀹炰緥
- static DatabaseOperator* getInstance() {
- std::lock_guard<std::mutex> lock(mutex);
- if (instance == nullptr) {
- instance = new DatabaseOperator();
- }
- return instance;
- }
-
- // 鎵ц鏌ヨ鎿嶄綔锛堢ず渚嬶級
- sql::ResultSet* query(const std::string& sql) {
- try {
- std::unique_ptr<sql::Statement> stmt(connection->createStatement());
- return stmt->executeQuery(sql);
- } catch (sql::SQLException &e) {
- std::cerr << "鏌ヨ閿欒: " << e.what() << std::endl;
- }
- return nullptr;
- }
-};
-
-std::mutex DatabaseOperator::mutex;
-DatabaseOperator* DatabaseOperator::instance = nullptr;
\ No newline at end of file
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/document/\345\273\272\350\241\250.docx" "b/Server/\347\216\213\347\220\250\345\205\203/document/\345\273\272\350\241\250.docx"
new file mode 100644
index 0000000..b777db4
--- /dev/null
+++ "b/Server/\347\216\213\347\220\250\345\205\203/document/\345\273\272\350\241\250.docx"
Binary files differ
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223.docx" "b/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223.docx"
deleted file mode 100644
index c7dd41d..0000000
--- "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223.docx"
+++ /dev/null
Binary files differ
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\346\250\241\345\235\227\351\234\200\346\261\202\345\210\206\346\236\220.docx" "b/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\346\250\241\345\235\227\351\234\200\346\261\202\345\210\206\346\236\220.docx"
index 0a608f6..22d785e 100644
--- "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\346\250\241\345\235\227\351\234\200\346\261\202\345\210\206\346\236\220.docx"
+++ "b/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\346\250\241\345\235\227\351\234\200\346\261\202\345\210\206\346\236\220.docx"
Binary files differ
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245.txt" "b/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245.txt"
deleted file mode 100644
index dad6734..0000000
--- "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245.txt"
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "MySQL.h"
-#include <WinSock2.h>
-#include <mysql.h>
-#include <iostream>
-#include <string>
-using namespace std;
-int main() {
- MYSQL mysql;
- mysql_init(&mysql);//鍒濆鍖�
- //杩炴帴鏁版嵁搴撴湇鍔″櫒鏈嶅姟鍣� IP 鐢ㄦ埛鍚� 瀵嗙爜 鏁版嵁搴撶鍙e彿
- mysql_real_connect(&mysql, "192.168.136.128", "root", "123456", "wang", 3306, NULL, 0);
-
- string sql="set names gbk";
- mysql_real_query(&mysql, sql.c_str(), sql.size());
- mysql_close(&mysql);
- return 0;
\ No newline at end of file
diff --git "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245\346\261\240\347\261\273.txt" "b/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245\346\261\240\347\261\273.txt"
deleted file mode 100644
index 8c82c1a..0000000
--- "a/Server/\347\216\213\347\220\250\345\205\203/document/\346\225\260\346\215\256\345\272\223\350\277\236\346\216\245\346\261\240\347\261\273.txt"
+++ /dev/null
@@ -1,91 +0,0 @@
-#include <iostream>
-#include <list>
-#include <mutex>
-#include <condition_variable>
-#include <mysql_driver.h>
-#include <mysql_connection.h>
-#include <cppconn/statement.h>
-#include <cppconn/resultset.h>
-
-class SQLConnectionPool {
-private:
- SQLConnectionPool(int minConns, int maxConns) :
- minConnections(minConns), maxConnections(maxConns), currentConnections(0) {}
-
- static SQLConnectionPool* instance;
- static std::mutex mutex;
- std::condition_variable cv;
- int minConnections;
- int maxConnections;
- int currentConnections;
- std::list<std::unique_ptr<sql::Connection>> connections;
-
- // 鍒涘缓涓�涓柊鐨勬暟鎹簱杩炴帴
- std::unique_ptr<sql::Connection> createConnection() {
- try {
- sql::Driver* driver = sql::mysql::get_mysql_driver_instance();
- std::unique_ptr<sql::Connection> conn(driver->connect("tcp://127.0.0.1:3306", "username", "password"));
- conn->setSchema("your_database");
- return conn;
- } catch (sql::SQLException &e) {
- std::cerr << "鍒涘缓杩炴帴閿欒: " << e.what() << std::endl;
- return nullptr;
- }
- }
-
-public:
- // 鑾峰彇鍗曚緥瀹炰緥
- static SQLConnectionPool* getInstance(int minConns, int maxConns) {
- std::lock_guard<std::mutex> lock(mutex);
- if (instance == nullptr) {
- instance = new SQLConnectionPool(minConns, maxConns);
- instance->initializePool();
- }
- return instance;
- }
-
- // 鍒濆鍖栬繛鎺ユ睜
- void initializePool() {
- for (int i = 0; i < minConnections; ++i) {
- std::unique_ptr<sql::Connection> conn = createConnection();
- if (conn) {
- connections.push_back(std::move(conn));
- currentConnections++;
- }
- }
- }
-
- // 鑾峰彇鏁版嵁搴撹繛鎺�
- std::unique_ptr<sql::Connection> getConnection() {
- std::unique_lock<std::mutex> lock(mutex);
- while (connections.empty() && currentConnections >= maxConnections) {
- cv.wait(lock);
- }
-
- std::unique_ptr<sql::Connection> conn;
- if (!connections.empty()) {
- conn = std::move(connections.front());
- connections.pop_front();
- } else if (currentConnections < maxConnections) {
- conn = createConnection();
- if (conn) {
- currentConnections++;
- }
- }
- return conn;
- }
-
- // 褰掕繕鏁版嵁搴撹繛鎺�
- void releaseConnection(std::unique_ptr<sql::Connection>& conn) {
- std::lock_guard<std::mutex> lock(mutex);
- if (currentConnections > minConnections) {
- currentConnections--;
- } else {
- connections.push_back(std::move(conn));
- }
- cv.notify_one();
- }
-};
-
-std::mutex SQLConnectionPool::mutex;
-SQLConnectionPool* SQLConnectionPool::instance = nullptr;
\ No newline at end of file
--
Gitblit v1.8.0