728x90
반응형
spring의 mybatis 로그에서
? 부분에 파라미터를 넣어서 출력하고 싶다!!
why??
파라미터 개수가 많을 때 ? 찾아서 입력하기 귀찮음.. 한 번 간단한 파이썬 실행파일을 만들어보자.
메모장에서 만들어본다.
1. 메모장을 켜고,
2. 파이썬으로 알고리즘을 만든다
3. ctrl+s 로 저장할 때 파일 이름은 파일명.py로 하고 파일 형식은 "모든 파일"로 한다.
4. 끝!
** 참고로 여기서 사용할 문자열 조작 관련 함수는
split(), find(), replace() 이다.
sqlParsing.py
#SELECT * FROM TBL_ADDR_BOOK WHERE MBR_ID = ? AND ADDR_BOOK_GRP_IDX = ? ORDER BY NM ASC LIMIT ?, ?
#Parameters: 2021cop(String), 2(String), 0(Integer), 5(Integer)
import sys
i, j = 0
str = sys.argv[1]
parm = sys.argv[2]
params = sys.argv[2].split(', ')
newParams = []
#print("str : " + str)
#print("parm : " + parm)
#print(params)
for i in params :
idx = i.find('(')
if 'String' in i :
i = i[0:idx]
i = "'" + i + "'"
else :
i = i[0:idx]
#print(i) newParams.append(i)
str = str.replace('?', '%s')
for i in newParams :
str = str.replace('%s', i, 1)
print('========result==========')
print(str)
편한 위치에 sqlParsing.py 파일을 위치시키고,
cmd 에서 해당 위치에 가서
sqlParsing.py "sql문" "파라미터" 입력 후 enter
ex)
E:\> sqlParsing.py "SELECT * FROM TBL_ADDR_BOOK WHERE MBR_ID = ? AND ADDR_BOOK_GRP_IDX = ? ORDER BY NM ASC LIMIT ?, ?" "2021cop(String), (String), 0(Integer), 5(Integer)"
728x90
반응형
'PYTHON' 카테고리의 다른 글
[백준 2562 | python3 | 1차원 배열] 2. 최댓값 (0) | 2021.05.10 |
---|---|
[백준 10818 | python3 | 1차원 배열] 1. 최소, 최대 (0) | 2021.05.10 |
[python3 | 알고리즘] 15. 문자열 조작(그룹 애너그램) (0) | 2021.03.09 |
[python3 | 알고리즘] 14. 문자열 조작(가장 흔한 단어) (0) | 2021.03.09 |
[python3 | 알고리즘] 13. 문자열 조작(로그파일 재정렬) (0) | 2021.03.09 |