728x90
반응형
[
{
"sentence": "SELECT * TABLE1 "
},
{
"sentence": "INSERT INTO TABLE1 (A, B, C) VALUES (a, b, c) "
}
]
json파일 예시
C#과 오라클 DB가 상호작용하는 프로그램에서, C#에 Sql문을 넣지않고, 프로젝트에 쿼리문이 담긴 json파일을 두고 동적으로 호출하면, 프로그램 실행중에도 별도의 컴파일 없이 실시간으로 쿼리문을 수정할 수 있다.
json 파일은 텍스트파일이나 vs code등으로 열어서 편집하면 된다. 개인적으로는 txt파일이 편하다.
C#에서 json파일을 쓰려면 Newtonsoft 패키지를 너겟에서 설치해야한다.
코드 상단에
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
로 네임스페이스를 불러온다.
사용하는 방법은,
public class SqlQryModel
{
public string sentence { get; set; }
}
class 모델파일
public string GetSqlQry(int index)
{
List<SqlQryModel> sql_ = new List<SqlQryModel>();
string jsonFilePath = "../../Json/SqlQry.json";
string jsonText = System.IO.File.ReadAllText(jsonFilePath);
sql_ = JsonConvert.DeserializeObject<List<SqlQryModel>>(jsonText);
return sql_[index].sentence;
}
sql문을 반환하는 함수.
먼저 클래스를 리스트로 엮어 콜렉션을 만든다. 그릇이 된다.
json파일의 위치는 상대경로로 지정했따. '../'은 현재 디렉토리에서 상위 디렉토리로 갈 수 있는 명령어.
jsonfilepath의 text를 모두 읽어주어 jsonText에 저장하고,
sql_ 콜렉션에 역직렬화하여 jsonText를 파싱해준다.
마지막으로 index에 해당하는 sentence를 반환한다.
클래스의 멤버 등을 수정하여 응용할 수 있다.
json파일은 쉼표로 구분되어 각각 인덱스를 갖고, 함수를 호출할때 해당하는 인덱스를 넣어주면 원하는 쿼리문을 가져올 수 있다.
수정이 외부에서 가능하고, 따라서 별도의 컴파일 없이 sql문을 바꿀 수 있다는 이점이 있다. sql문을 따로 모아 관리할 수 있어 편리하다.
728x90
반응형
'공부 > 여러가지 공부내용' 카테고리의 다른 글
[자바 이클립스] run시 코드 변경 수정 내용 적용안될때 (1) | 2024.05.15 |
---|---|
pip install cx_oracle 오류 Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools" 파이썬 오라클 DB연결 과정 오류 해결법 (0) | 2023.11.15 |
초간단 깃허브 레포지토리 이관하기, Git Bash 깃 이관하는법 복제 (0) | 2023.09.11 |
NUGET이란 (0) | 2023.09.11 |
ONNX(Open Neural Network Exchange)란 (0) | 2023.09.11 |