feat: 新增 ScanRows 接口
This commit is contained in:
44
README.md
44
README.md
@@ -34,7 +34,7 @@ type TableNamer interface {
|
||||
|
||||
|
||||
|
||||
### 示例
|
||||
### 批量插入 -- 示例
|
||||
|
||||
```go
|
||||
|
||||
@@ -52,12 +52,12 @@ func (u *User) SuperTableName() string {
|
||||
}
|
||||
|
||||
func TestSimpleInsert(t *testing.T) {
|
||||
tdMapping := NewTdMapping()
|
||||
tdMapper := NewMapper()
|
||||
data := []any{
|
||||
&User{Name: "张三", Age: 18},
|
||||
&User{Name: "李四", Age: 20},
|
||||
}
|
||||
insertSql, err := tdMapping.ToInsertSQL(data...)
|
||||
insertSql, err := tdMapper.ToInsertSQL(data...)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -70,6 +70,44 @@ INSERT INTO
|
||||
`user_李四` USING `super_user` (`name`) TAGS ('李四') (`age`) VALUES (20)
|
||||
```
|
||||
|
||||
### 查询映射 -- 示例
|
||||
|
||||
```go
|
||||
func QueryOne(db *sql.DB) (*User,error){
|
||||
tdMapper := NewMapper()
|
||||
|
||||
rows,err:=db.Query("select * from User limit 100")
|
||||
if err!=nil {
|
||||
return err
|
||||
}
|
||||
def rows.Close()
|
||||
|
||||
var user User
|
||||
if err:=ScanRows(&user,rows);err!=nil {
|
||||
return err
|
||||
}
|
||||
return &user, nil
|
||||
}
|
||||
|
||||
// 如果查询结果数量为0,则返回 sql.ErrNoRows
|
||||
// var ErrNoRows = errors.New("sql: no rows in result set")
|
||||
func QueryAll(db *sql.DB)([]*User, error) {
|
||||
tdMapper := NewMapper()
|
||||
|
||||
rows,err:=db.Query("select * from User limit 100")
|
||||
if err!=nil {
|
||||
return err
|
||||
}
|
||||
def rows.Close()
|
||||
|
||||
var users []*User
|
||||
if err:=ScanRows(&users,rows);err!=nil {
|
||||
return err
|
||||
}
|
||||
return &users, nil
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user