| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- func (m *default{{.upperStartCamelObject}}Model) Insert(ctx context.Context, data *{{.upperStartCamelObject}}) (sql.Result,error) {
- {{if .withCache}}{{.keys}}
- ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- query := fmt.Sprintf("INSERT INTO %s (%s) VALUES ({{.expression}})", m.table, {{.lowerStartCamelObject}}RowsExpectAutoSet)
- return conn.ExecCtx(ctx, query, {{.expressionValues}})
- }, {{.keyValues}}){{else}}query := fmt.Sprintf("INSERT INTO %s (%s) VALUES ({{.expression}})", m.table, {{.lowerStartCamelObject}}RowsExpectAutoSet)
- ret,err:=m.conn.ExecCtx(ctx, query, {{.expressionValues}}){{end}}
- return ret,err
- }
- func (m *default{{.upperStartCamelObject}}Model) InsertWithTx(ctx context.Context, session sqlx.Session, data *{{.upperStartCamelObject}}) (sql.Result,error) {
- {{if .withCache}}{{.keys}}
- ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- query := fmt.Sprintf("INSERT INTO %s (%s) VALUES ({{.expression}})", m.table, {{.lowerStartCamelObject}}RowsExpectAutoSet)
- return session.ExecCtx(ctx, query, {{.expressionValues}})
- }, {{.keyValues}}){{else}}query := fmt.Sprintf("INSERT INTO %s (%s) VALUES ({{.expression}})", m.table, {{.lowerStartCamelObject}}RowsExpectAutoSet)
- ret,err:=session.ExecCtx(ctx, query, {{.expressionValues}}){{end}}
- return ret,err
- }
- func (m *default{{.upperStartCamelObject}}Model) BatchInsert(ctx context.Context, dataList []*{{.upperStartCamelObject}}) error {
- if len(dataList) == 0 {
- return nil
- }
- {{if .withCache}}keys := make([]string, 0, len(dataList))
- {{end}}valueSets := make([]string, 0, len(dataList))
- args := make([]interface{}, 0)
- for _, data := range dataList {
- valueSets = append(valueSets, "({{.expression}})")
- args = append(args, {{.expressionValues}})
- {{if .withCache}}{{.keys}}
- keys = append(keys, {{.keyValues}})
- {{end}}
- }
- query := fmt.Sprintf("INSERT INTO %s (%s) VALUES %s", m.table, {{.lowerStartCamelObject}}RowsExpectAutoSet, strings.Join(valueSets, ","))
- {{if .withCache}}_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- return conn.ExecCtx(ctx, query, args...)
- }, keys...){{else}}_, err := m.conn.ExecCtx(ctx, query, args...){{end}}
- return err
- }
- func (m *default{{.upperStartCamelObject}}Model) BatchInsertWithTx(ctx context.Context, session sqlx.Session, dataList []*{{.upperStartCamelObject}}) error {
- if len(dataList) == 0 {
- return nil
- }
- {{if .withCache}}keys := make([]string, 0, len(dataList))
- {{end}}valueSets := make([]string, 0, len(dataList))
- args := make([]interface{}, 0)
- for _, data := range dataList {
- valueSets = append(valueSets, "({{.expression}})")
- args = append(args, {{.expressionValues}})
- {{if .withCache}}{{.keys}}
- keys = append(keys, {{.keyValues}})
- {{end}}
- }
- query := fmt.Sprintf("INSERT INTO %s (%s) VALUES %s", m.table, {{.lowerStartCamelObject}}RowsExpectAutoSet, strings.Join(valueSets, ","))
- {{if .withCache}}_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- return session.ExecCtx(ctx, query, args...)
- }, keys...){{else}}_, err := session.ExecCtx(ctx, query, args...){{end}}
- return err
- }
- {{if not .withCache}}
- func (m *default{{.upperStartCamelObject}}Model) TransactCtx(ctx context.Context, fn func(context.Context, sqlx.Session) error) error {
- return m.conn.TransactCtx(ctx, fn)
- }
- {{end}}
|