function myfunction
{
echo "$1"
}


# generate.py BEGIN -------------

import mysql.connector
from jinja2 import Environment, FileSystemLoader

# MariaDB 접속 설정
def get_db_connection():
    return mysql.connector.connect(
        host="",    # MariaDB 호스트
        user="",         # MariaDB 사용자
        password="", # MariaDB 비밀번호
        database=""    # 사용할 데이터베이스
    )


# 테이블 정보 가져오기
def get_table_comment(table_name):
    connection = get_db_connection()
    cursor = connection.cursor()
    cursor.execute(f"""SELECT 
                        TABLE_COMMENT
                    FROM 
                        INFORMATION_SCHEMA.TABLES
                    WHERE 
                        TABLE_NAME = '{table_name}' 
                    """)

    table_comment = cursor.fetchone()[0]
    cursor.close()
    connection.close()
    return table_comment


# 테이블 컬럼 정보 가져오기
def get_table_columns(table_name):
    connection = get_db_connection()
    cursor = connection.cursor()
    cursor.execute(f"""SELECT
                    column_name,
                    column_type,
                    column_comment
                FROM
                    information_schema.columns
                where 1=1 
                and table_name = '{table_name}' """)

    columns = cursor.fetchall()
    cursor.close()
    connection.close()
    return columns



# Jinja2 템플릿을 사용하여 Java 클래스를 생성
def generate_java_code(table_comment, columns, class_name):
    # Jinja2 환경 설정
    env = Environment(loader=FileSystemLoader("templates"))
    
    # 템플릿 파일 로딩
    template = env.get_template("entity_template2.java.j2")


    # 테이블 컬럼에 맞는 데이터 생성
    column_info = []
    for column in columns:
        column_info.append({
            "name": to_camel_case(column[0]),
            "type": "int" if "int" in column[1].lower()[0:3] else "String", 
            "comment": column[2],
            "name2": column[0]
        })
    
    # 템플릿 렌더링
    java_code = template.render(table_name="MBR_ACNT", table_comment=table_comment, class_name=class_name, columns=column_info)
    
    # 생성된 Java 코드 출력
    return java_code

# 파일로 저장
def save_java_file(java_code, class_name):
    file_name = f"{class_name}.java"
    with open(file_name, "w") as file:
        file.write(java_code)
    print(f"Java 파일이 생성되었습니다: {file_name}")

def to_camel_case(s):
        # 문자열을 '_' 기준으로 분리
    words = s.split('_')
    # 첫 단어는 소문자로, 나머지 단어는 첫 글자만 대문자로 변환
    return words[0].lower() + ''.join(word.capitalize() for word in words[1:])

# eg T_MBR_ACNT -> MbrAcnt
def to_class_name(s):
    # 문자열을 'T_' 기준으로 분리
    words = s.split('_')
    return ''.join(word.capitalize() for word in words[1:])


def main():
    table_name = "T_MY_TABLE"
    
    class_name = to_class_name(table_name)
    
    table_comment = get_table_comment(table_name)     # 테이블 주석
    columns = get_table_columns(table_name)
    java_code = generate_java_code(table_comment, columns, class_name)
    save_java_file(java_code,class_name)

if __name__ == "__main__":
    main()

# generate,py END ----

package kwwa.lms.bo.mbrAcnt.domain.entity;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

// {{ table_name }} 테이블 : {{ table_comment }} 테이블
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class {{ class_name }} {
    {% for column in columns %}
    private {{ column.type }} {{ column.name }}; // {{ column.comment }} ({{ column.name2 }})
    {%- endfor %}
}

 


curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py


gitbash python

카테고리 없음 2025. 3. 24. 12:59

mvvp model

카테고리 없음 2025. 3. 21. 13:07


intellij git

2025. 3. 21. 09:53

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.



bash generate source

shell 2025. 3. 20. 15:39

#!/bin/bash

# 대상 디렉토리 설정
BASE_DIR="./main"

# 디렉토리와 파일 이름 변경
find "$BASE_DIR" -depth -name "*systemUser*" | while read FILE_PATH; do
    # 새 경로 생성
    NEW_PATH=$(echo "$FILE_PATH" | sed 's/systemUser/mbrAcnt/g')
    # 이름 변경
    mv "$FILE_PATH" "$NEW_PATH"
done

# 파일 내용 변경
find "$BASE_DIR" -type f -exec sed -i 's/systemUser/mbrAcnt/g' {} +

find "$BASE_DIR" -depth -name "*SystemUser*" | while read FILE_PATH; do
    # 새 경로 생성
    NEW_PATH=$(echo "$FILE_PATH" | sed 's/SystemUser/MbrAcnt/g')
    # 이름 변경
    mv "$FILE_PATH" "$NEW_PATH"
done

# 파일 내용 변경
find "$BASE_DIR" -type f -exec sed -i 's/SystemUser/MbrAcnt/g' {} +

find "$BASE_DIR" -depth -name "*ManagerAccount*" | while read FILE_PATH; do
    # 새 경로 생성
    NEW_PATH=$(echo "$FILE_PATH" | sed 's/ManagerAccount/MbrAcnt/g')
    # 이름 변경
    mv "$FILE_PATH" "$NEW_PATH"
done

# 파일 내용 변경
find "$BASE_DIR" -type f -exec sed -i 's/ManagerAccount/MbrAcnt/g' {} +


  python3 -m pip install localstack
  chmod 777 /var/run/docker.sock
  sudo chmod 777 /var/run/docker.sock
  localstack start -d
  pip install awscli-local
  which awslocal
  cd ~/.local/bin
  awslocal sqs create-queue --queue-name sample-queue
  
~/.local/bin$ awslocal sqs create-queue --queue-name sample-queue
{
    "QueueUrl": "http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/sample-queue"
}