update READMEs
This commit is contained in:
parent
4a4bac517d
commit
1933dd69e2
70
README.md
70
README.md
|
@ -148,11 +148,14 @@ affected, err := engine.Exec("update user set age = ? where name = ?", age, name
|
||||||
```Go
|
```Go
|
||||||
affected, err := engine.Insert(&user)
|
affected, err := engine.Insert(&user)
|
||||||
// INSERT INTO struct () values ()
|
// INSERT INTO struct () values ()
|
||||||
|
|
||||||
affected, err := engine.Insert(&user1, &user2)
|
affected, err := engine.Insert(&user1, &user2)
|
||||||
// INSERT INTO struct1 () values ()
|
// INSERT INTO struct1 () values ()
|
||||||
// INSERT INTO struct2 () values ()
|
// INSERT INTO struct2 () values ()
|
||||||
|
|
||||||
affected, err := engine.Insert(&users)
|
affected, err := engine.Insert(&users)
|
||||||
// INSERT INTO struct () values (),(),()
|
// INSERT INTO struct () values (),(),()
|
||||||
|
|
||||||
affected, err := engine.Insert(&user1, &users)
|
affected, err := engine.Insert(&user1, &users)
|
||||||
// INSERT INTO struct1 () values ()
|
// INSERT INTO struct1 () values ()
|
||||||
// INSERT INTO struct2 () values (),(),()
|
// INSERT INTO struct2 () values (),(),()
|
||||||
|
@ -163,18 +166,23 @@ affected, err := engine.Insert(&user1, &users)
|
||||||
```Go
|
```Go
|
||||||
has, err := engine.Get(&user)
|
has, err := engine.Get(&user)
|
||||||
// SELECT * FROM user LIMIT 1
|
// SELECT * FROM user LIMIT 1
|
||||||
|
|
||||||
has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
|
has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
|
||||||
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1
|
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1
|
||||||
|
|
||||||
var name string
|
var name string
|
||||||
has, err := engine.Where("id = ?", id).Cols("name").Get(&name)
|
has, err := engine.Where("id = ?", id).Cols("name").Get(&name)
|
||||||
// SELECT name FROM user WHERE id = ?
|
// SELECT name FROM user WHERE id = ?
|
||||||
|
|
||||||
var id int64
|
var id int64
|
||||||
has, err := engine.Where("name = ?", name).Cols("id").Get(&id)
|
has, err := engine.Where("name = ?", name).Cols("id").Get(&id)
|
||||||
has, err := engine.SQL("select id from user").Get(&id)
|
has, err := engine.SQL("select id from user").Get(&id)
|
||||||
// SELECT id FROM user WHERE name = ?
|
// SELECT id FROM user WHERE name = ?
|
||||||
|
|
||||||
var valuesMap = make(map[string]string)
|
var valuesMap = make(map[string]string)
|
||||||
has, err := engine.Where("id = ?", id).Get(&valuesMap)
|
has, err := engine.Where("id = ?", id).Get(&valuesMap)
|
||||||
// SELECT * FROM user WHERE id = ?
|
// SELECT * FROM user WHERE id = ?
|
||||||
|
|
||||||
var valuesSlice = make([]interface{}, len(cols))
|
var valuesSlice = make([]interface{}, len(cols))
|
||||||
has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
||||||
// SELECT col1, col2, col3 FROM user WHERE id = ?
|
// SELECT col1, col2, col3 FROM user WHERE id = ?
|
||||||
|
@ -185,16 +193,21 @@ has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
||||||
```Go
|
```Go
|
||||||
has, err := testEngine.Exist(new(RecordExist))
|
has, err := testEngine.Exist(new(RecordExist))
|
||||||
// SELECT * FROM record_exist LIMIT 1
|
// SELECT * FROM record_exist LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.Exist(&RecordExist{
|
has, err = testEngine.Exist(&RecordExist{
|
||||||
Name: "test1",
|
Name: "test1",
|
||||||
})
|
})
|
||||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
||||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist()
|
has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist()
|
||||||
// select * from record_exist where name = ?
|
// select * from record_exist where name = ?
|
||||||
|
|
||||||
has, err = testEngine.Table("record_exist").Exist()
|
has, err = testEngine.Table("record_exist").Exist()
|
||||||
// SELECT * FROM record_exist LIMIT 1
|
// SELECT * FROM record_exist LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
||||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||||
```
|
```
|
||||||
|
@ -279,7 +292,9 @@ affected, err := engine.Id(1).AllCols().Update(&user)
|
||||||
```Go
|
```Go
|
||||||
affected, err := engine.Where(...).Delete(&user)
|
affected, err := engine.Where(...).Delete(&user)
|
||||||
// DELETE FROM user Where ...
|
// DELETE FROM user Where ...
|
||||||
affected, err := engine.Id(2).Delete(&user)
|
|
||||||
|
affected, err := engine.ID(2).Delete(&user)
|
||||||
|
// DELETE FROM user Where id = ?
|
||||||
```
|
```
|
||||||
|
|
||||||
* `Count` count records
|
* `Count` count records
|
||||||
|
@ -312,6 +327,59 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))
|
||||||
// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?)
|
// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* Multiple operations in one go routine, no transation here but resue session memory
|
||||||
|
|
||||||
|
```Go
|
||||||
|
session := engine.NewSession()
|
||||||
|
defer session.Close()
|
||||||
|
|
||||||
|
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||||
|
if _, err := session.Insert(&user1); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
user2 := Userinfo{Username: "yyy"}
|
||||||
|
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
```
|
||||||
|
|
||||||
|
* Transation should on one go routine. There is transaction and resue session memory
|
||||||
|
|
||||||
|
```Go
|
||||||
|
session := engine.NewSession()
|
||||||
|
defer session.Close()
|
||||||
|
|
||||||
|
// add Begin() before any action
|
||||||
|
if err := session.Begin(); err != nil {
|
||||||
|
// if returned then will rollback automatically
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||||
|
if _, err := session.Insert(&user1); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
user2 := Userinfo{Username: "yyy"}
|
||||||
|
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// add Commit() after all actions
|
||||||
|
return session.Commit()
|
||||||
|
```
|
||||||
|
|
||||||
# Cases
|
# Cases
|
||||||
|
|
||||||
* [studygolang](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang)
|
* [studygolang](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang)
|
||||||
|
|
69
README_CN.md
69
README_CN.md
|
@ -155,11 +155,14 @@ affected, err := engine.Exec("update user set age = ? where name = ?", age, name
|
||||||
```Go
|
```Go
|
||||||
affected, err := engine.Insert(&user)
|
affected, err := engine.Insert(&user)
|
||||||
// INSERT INTO struct () values ()
|
// INSERT INTO struct () values ()
|
||||||
|
|
||||||
affected, err := engine.Insert(&user1, &user2)
|
affected, err := engine.Insert(&user1, &user2)
|
||||||
// INSERT INTO struct1 () values ()
|
// INSERT INTO struct1 () values ()
|
||||||
// INSERT INTO struct2 () values ()
|
// INSERT INTO struct2 () values ()
|
||||||
|
|
||||||
affected, err := engine.Insert(&users)
|
affected, err := engine.Insert(&users)
|
||||||
// INSERT INTO struct () values (),(),()
|
// INSERT INTO struct () values (),(),()
|
||||||
|
|
||||||
affected, err := engine.Insert(&user1, &users)
|
affected, err := engine.Insert(&user1, &users)
|
||||||
// INSERT INTO struct1 () values ()
|
// INSERT INTO struct1 () values ()
|
||||||
// INSERT INTO struct2 () values (),(),()
|
// INSERT INTO struct2 () values (),(),()
|
||||||
|
@ -170,18 +173,23 @@ affected, err := engine.Insert(&user1, &users)
|
||||||
```Go
|
```Go
|
||||||
has, err := engine.Get(&user)
|
has, err := engine.Get(&user)
|
||||||
// SELECT * FROM user LIMIT 1
|
// SELECT * FROM user LIMIT 1
|
||||||
|
|
||||||
has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
|
has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
|
||||||
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1
|
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1
|
||||||
|
|
||||||
var name string
|
var name string
|
||||||
has, err := engine.Where("id = ?", id).Cols("name").Get(&name)
|
has, err := engine.Where("id = ?", id).Cols("name").Get(&name)
|
||||||
// SELECT name FROM user WHERE id = ?
|
// SELECT name FROM user WHERE id = ?
|
||||||
|
|
||||||
var id int64
|
var id int64
|
||||||
has, err := engine.Where("name = ?", name).Cols("id").Get(&id)
|
has, err := engine.Where("name = ?", name).Cols("id").Get(&id)
|
||||||
has, err := engine.SQL("select id from user").Get(&id)
|
has, err := engine.SQL("select id from user").Get(&id)
|
||||||
// SELECT id FROM user WHERE name = ?
|
// SELECT id FROM user WHERE name = ?
|
||||||
|
|
||||||
var valuesMap = make(map[string]string)
|
var valuesMap = make(map[string]string)
|
||||||
has, err := engine.Where("id = ?", id).Get(&valuesMap)
|
has, err := engine.Where("id = ?", id).Get(&valuesMap)
|
||||||
// SELECT * FROM user WHERE id = ?
|
// SELECT * FROM user WHERE id = ?
|
||||||
|
|
||||||
var valuesSlice = make([]interface{}, len(cols))
|
var valuesSlice = make([]interface{}, len(cols))
|
||||||
has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
||||||
// SELECT col1, col2, col3 FROM user WHERE id = ?
|
// SELECT col1, col2, col3 FROM user WHERE id = ?
|
||||||
|
@ -192,16 +200,21 @@ has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice)
|
||||||
```Go
|
```Go
|
||||||
has, err := testEngine.Exist(new(RecordExist))
|
has, err := testEngine.Exist(new(RecordExist))
|
||||||
// SELECT * FROM record_exist LIMIT 1
|
// SELECT * FROM record_exist LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.Exist(&RecordExist{
|
has, err = testEngine.Exist(&RecordExist{
|
||||||
Name: "test1",
|
Name: "test1",
|
||||||
})
|
})
|
||||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{})
|
||||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist()
|
has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist()
|
||||||
// select * from record_exist where name = ?
|
// select * from record_exist where name = ?
|
||||||
|
|
||||||
has, err = testEngine.Table("record_exist").Exist()
|
has, err = testEngine.Table("record_exist").Exist()
|
||||||
// SELECT * FROM record_exist LIMIT 1
|
// SELECT * FROM record_exist LIMIT 1
|
||||||
|
|
||||||
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist()
|
||||||
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
// SELECT * FROM record_exist WHERE name = ? LIMIT 1
|
||||||
```
|
```
|
||||||
|
@ -286,6 +299,9 @@ affected, err := engine.Id(1).AllCols().Update(&user)
|
||||||
```Go
|
```Go
|
||||||
affected, err := engine.Where(...).Delete(&user)
|
affected, err := engine.Where(...).Delete(&user)
|
||||||
// DELETE FROM user Where ...
|
// DELETE FROM user Where ...
|
||||||
|
|
||||||
|
affected, err := engine.ID(2).Delete(&user)
|
||||||
|
// DELETE FROM user Where id = ?
|
||||||
```
|
```
|
||||||
|
|
||||||
* `Count` 获取记录条数
|
* `Count` 获取记录条数
|
||||||
|
@ -318,6 +334,59 @@ err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))
|
||||||
// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?)
|
// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* 在一个Go程中多次操作数据库,但没有事务
|
||||||
|
|
||||||
|
```Go
|
||||||
|
session := engine.NewSession()
|
||||||
|
defer session.Close()
|
||||||
|
|
||||||
|
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||||
|
if _, err := session.Insert(&user1); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
user2 := Userinfo{Username: "yyy"}
|
||||||
|
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
```
|
||||||
|
|
||||||
|
* 在一个Go程中有事务
|
||||||
|
|
||||||
|
```Go
|
||||||
|
session := engine.NewSession()
|
||||||
|
defer session.Close()
|
||||||
|
|
||||||
|
// add Begin() before any action
|
||||||
|
if err := session.Begin(); err != nil {
|
||||||
|
// if returned then will rollback automatically
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}
|
||||||
|
if _, err := session.Insert(&user1); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
user2 := Userinfo{Username: "yyy"}
|
||||||
|
if _, err := session.Where("id = ?", 2).Update(&user2); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := session.Exec("delete from userinfo where username = ?", user2.Username); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// add Commit() after all actions
|
||||||
|
return session.Commit()
|
||||||
|
```
|
||||||
|
|
||||||
# 案例
|
# 案例
|
||||||
|
|
||||||
* [Go语言中文网](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang)
|
* [Go语言中文网](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang)
|
||||||
|
|
Loading…
Reference in New Issue