func (m *default{{.upperStartCamelObject}}Model) FindOne(ctx context.Context, {{.lowerStartCamelPrimaryKey}} {{.dataType}}) (*{{.upperStartCamelObject}}, error) { {{if .withCache}}{{.cacheKey}} var resp {{.upperStartCamelObject}} err := m.QueryRowCtx(ctx, &resp, {{.cacheKeyVariable}}, func(ctx context.Context, conn sqlx.SqlConn, v any) error { query := fmt.Sprintf("SELECT %s FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}} LIMIT 1", {{.lowerStartCamelObject}}Rows, m.table) return conn.QueryRowCtx(ctx, v, query, {{.lowerStartCamelPrimaryKey}}) }) switch err { case nil: return &resp, nil case sqlc.ErrNotFound: return nil, ErrNotFound default: return nil, err }{{else}}query := fmt.Sprintf("SELECT %s FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}} LIMIT 1", {{.lowerStartCamelObject}}Rows, m.table) var resp {{.upperStartCamelObject}} err := m.conn.QueryRowCtx(ctx, &resp, query, {{.lowerStartCamelPrimaryKey}}) switch err { case nil: return &resp, nil case sqlx.ErrNotFound: return nil, ErrNotFound default: return nil, err }{{end}} } func (m *default{{.upperStartCamelObject}}Model) FindOneWithTx(ctx context.Context, session sqlx.Session, {{.lowerStartCamelPrimaryKey}} {{.dataType}}) (*{{.upperStartCamelObject}}, error) { var resp {{.upperStartCamelObject}} query := fmt.Sprintf("SELECT %s FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}} LIMIT 1", {{.lowerStartCamelObject}}Rows, m.table) err := session.QueryRowCtx(ctx, &resp, query, {{.lowerStartCamelPrimaryKey}}) switch err { case nil: return &resp, nil case sqlx.ErrNotFound: return nil, ErrNotFound default: return nil, err } }