2 Star 1 Fork 1

mosache / YFrame

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
raw_querier.go 1.12 KB
一键复制 编辑 原始数据 按行查看 历史
ヤ沒脩袮兲︶ 提交于 2023-07-07 18:26 . temp
package orm
import (
"context"
"database/sql"
)
type RawQuerier[T any] struct {
sql string
args []any
core
sess session
}
func RawQuery[T any](sess session, sql string, args ...any) *RawQuerier[T] {
return &RawQuerier[T]{
sql: sql,
args: args,
core: sess.getCore(),
sess: sess,
}
}
func (r *RawQuerier[T]) Exec(ctx context.Context) Result {
res := exec(ctx, r.sess, r.core, &QueryContext{
Type: Insert,
Builder: r,
})
if res.Result != nil {
return Result{
res: res.Result.(sql.Result),
err: res.Err,
}
}
return Result{
res: nil,
err: res.Err,
}
}
func (r *RawQuerier[T]) Build() (*Query, error) {
return &Query{
SQL: r.sql,
Args: r.args,
}, nil
}
func (r *RawQuerier[T]) Get(ctx context.Context) (*T, error) {
res := get[T](ctx, r.sess, r.core, &QueryContext{
Type: RAW,
Builder: r,
})
if res.Result != nil {
return res.Result.(*T), res.Err
}
return nil, res.Err
if res.Result != nil {
return res.Result.(*T), res.Err
}
return nil, res.Err
}
func (r *RawQuerier[T]) GetMulti(ctx context.Context) ([]*T, error) {
//TODO implement me
panic("implement me")
}
Go
1
https://gitee.com/mosache/YFrame.git
git@gitee.com:mosache/YFrame.git
mosache
YFrame
YFrame
v0.1.75

搜索帮助