xorm 소결 사용
2207 단어 go.
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)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
go 의 값 전달 과 참조 전달절편 과 지 도 는 모두 인용 유형 이다.현지에서 새로운 변수 로 할당 되 었 을 때 같은 내부 데이터 구 조 를 가리킨다.따라서 그 중의 한 변 수 를 바 꾸 면 다른 변수 에 영향 을 줄 수 있다. 다음은 참조 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.