xorm 소결 사용

2207 단어 go.
xorm 프로필
http://www.xorm.io/docs/(문서 주소)
xorm 은 간단 하면 서도 강력 한 Go 언어 ORM 라 이브 러 리 입 니 다. 이 를 통 해 데이터 베 이 스 를 매우 간편 하 게 조작 할 수 있 습 니 다.xorm 의 목 표 는 SQL 을 전혀 배우 지 말 라 는 것 이 아 닙 니 다. 우 리 는 SQL 이 ORM 으로 대체 되 지 않 을 것 이 라 고 생각 합 니 다. 그러나 ORM 은 대부분의 간단 한 SQL 수 요 를 해결 할 수 있 을 것 입 니 다.xorm 은 두 가지 스타일 의 혼용 을 지원 합 니 다.
2. 소결 사용
1. 연결 
func newXorm()  { 
   engine, _ = xorm.NewEngine("mysql", "     :       @(     :3306)/       ?charset=utf8")
   tbMapper := core.NewPrefixMapper(core.SnakeMapper{}, "prefix_")
   engine.SetTableMapper(tbMapper)
}

2. 건축 표
config 표를 예 로 들 면
config 표 필드: id, varname, value...
type Config struct {
   Id      int
   Varname string
   Value   string
}

구조 체 를 정의 할 때 필드 이름 은 대문자 로 해 야 합 니 다. 그렇지 않 으 면 오류 가 발생 합 니 다.
config 표 구조 에 Id 가 없 으 면 'orm: "pk" 를 통 해 정의 할 수 있 습 니 다.
3.CURD
(1) 조회
newXorm()
var config []Config
sql := "SELECT `varname`,`value` FROM `onfig`"
engine.Sql(sql).Find(&config)

얻 은 config 는 구조 데이터 입 니 다.
data,_ := engine.QueryString("SELECT `varname`,`value` FROM `config`")

[] map [string] [string] 형식의
newXorm()
var ret Config
engine.Where("id= ?", id).Get(&ret)
return ret.Value

다른 방법 으로 도 조회 할 수 있 습 니 다.
var ret Config
ret.Id = id
has,_ := engine.Get(&ret)

(2) 업데이트
newXorm()
var ret Config
ret.Varname= varname
_,err := engine.Update(&ret, &Config{Id:id)
。Id(id) , , 。
newXorm()
var ret Config
ret.Value = value
engine.Cols("value").Update(&ret,Config{Id:id})

상기 방법 을 사용 하여 업데이트 해 야 할 열 을 Clos 에 쓰 는 것 은 value 가 0 일 수 있 기 때 문 입 니 다. 이 때 첫 번 째 방법 으로 는 유효 하지 않 습 니 다.
업데이트 할 값 이 0 이나 nil 이면 업데이트 하지 않 습 니 다.
(3) 추가
var data Config
data.Varname = varname
data.Value = value
newXorm()
_,err := engine.Insert(&data)

(4) 삭제
newXorm()
var ret Config
engine.Id(id).Delete(&ret)

 
 
 

좋은 웹페이지 즐겨찾기