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
반응형