343ea43a03fca465186391efacd69bc18c267f32
DB 사용법
구조
MMOServer (실행 프로젝트 Test파일들은 임시용)
├── RDB/
├──── Handlers/
│ └──── TestHandler.cs
├──── Models/
│ └──── TestM.cs
├──── Repositories/
│ └──── TestRepository.cs
└──── Services/
└──── TestService.cs
ServerLib (DLL)
├── RDB/
├──── Database/
│ └── DbConnectionFactory.cs
├──── Handlers/
│ ├── HandlerHelper.cs
│ └── Response.cs
└──── Repositories/
└── ARepository.cs
데이터 흐름
호출부 (Packet 등)
↓ 파라미터 전달
Handler → Service 호출 + 응답 포맷팅 (string, HelperHander 사용)
↓
Service → 비즈니스 로직, 유효성 검사, 예외 throw
↓
Repository → DB 접근 (Class? / bool / long 반환)
↓
MySQL
반환 타입 정리
| 레이어 | 반환 타입 |
|---|---|
| Repository | class? / IEnumerable<class> / long / bool |
| Service | 동일 (그대로 올림) |
| Handler | string (JSON 포장) |
새 테이블 추가 시
MMOServer/RDB/Models/에 Model 추가MMOServer/RDB/Repositories/에 Repository 추가 (ARepository 상속)MMOServer/RDB/Services/에 Service 추가MMOServer/RDB/Handlers/에 Handler 추가
ServerLib (DLL) 은 건드릴 필요 없음.
Connection Pool 설정(MMOServer/config.json)
{
"Database": {
"Host": "localhost",
"Port": "0000",
"Name": "XXXX",
"User": "root",
"Password": "11212121",
"Pooling": {
"MinimumPoolSize": "5",
"MaximumPoolSize": "100",
"ConnectionTimeout": "30",
"ConnectionIdleTimeout": "180"
}
}
}
Description
Languages
C#
99.6%
Dockerfile
0.4%