본문 바로가기
카테고리 없음

xorm의 주요 특징

by 즨니 2025. 5. 25.
728x90
반응형

📌 xorm의 주요 특징

언어 Go (Golang)
지원 DB MySQL, PostgreSQL, SQLite, MSSQL 등
특징 Struct ↔ Table 자동 매핑, 간결한 문법, 마이그레이션 지원
라이선스 BSD
 

🧩 xorm이란? (정의)

xorm은 Go 언어에서 구조체(struct)를 사용하여 데이터베이스 테이블을 매핑하고,
SQL 없이도 직관적으로 데이터를 CRUD(Create, Read, Update, Delete)할 수 있게 해주는 ORM 패키지입니다.


🧪 예제 코드 (기본 사용법)

go
복사편집
type User struct { Id int64 Name string Age int } func main() { engine, err := xorm.NewEngine("mysql", "root:pass@/test") if err != nil { panic(err) } // 테이블 자동 생성 engine.Sync2(new(User)) // 데이터 삽입 user := User{Name: "Jieun", Age: 25} engine.Insert(&user) // 데이터 조회 var users []User engine.Find(&users) // 조건 검색 var result User engine.Where("name = ?", "Jieun").Get(&result) }

🧰 장점

  • 코드 기반 테이블 생성 및 수정 가능 (Auto Migration)
  • Struct 기반이므로 타입 안정성↑
  • 다양한 DB 드라이버 지원
  • SQL 병행 작성도 가능 (복잡한 쿼리 시)

⚠️ 단점

  • GORM보다는 다소 커뮤니티 작음
  • Go 초보자에겐 struct 태그 관리가 복잡하게 느껴질 수 있음
  • 유지보수가 한때 중단되었으나 현재는 다시 활동 중 (주의 필요)
728x90
반응형