lj-wsdj 2024-08-21 14:24:38 +08:00
parent 51af81d925
commit d8653ccf8f
5 changed files with 22 additions and 22 deletions

View File

@ -5,6 +5,7 @@ import (
"git.botann.com/tinycs/boomerang/tyconf/ini" "git.botann.com/tinycs/boomerang/tyconf/ini"
"git.botann.com/tinycs/boomerang/tyoracle" "git.botann.com/tinycs/boomerang/tyoracle"
"git.botann.com/tinycs/boomerang/tyoracle/basesql" "git.botann.com/tinycs/boomerang/tyoracle/basesql"
_ "github.com/godror/godror"
) )
var APP AppConf var APP AppConf

View File

@ -33,11 +33,12 @@ func (s *SqlBuilder[T]) InsertConditions(symbol string, cond string, args ...int
if strings.HasPrefix(cond, " and") { if strings.HasPrefix(cond, " and") {
cond = strings.Join(strings.Split(cond, " and")[1:], " and ") cond = strings.Join(strings.Split(cond, " and")[1:], " and ")
} }
if s.Driver == util.DriverOracle { // if s.Driver == util.DriverOracle {
cond, args = dealOralceInCondition(cond, args) // cond, args = dealOralceInCondition(cond, args)
} else { // } else {
cond, args = dealInCondition(cond, args) // cond, args = dealInCondition(cond, args)
} // }
cond, args = dealInCondition(cond, args)
s.Opts.Conditions = append(s.Opts.Conditions, cond) s.Opts.Conditions = append(s.Opts.Conditions, cond)
s.Opts.Args = append(s.Opts.Args, args...) s.Opts.Args = append(s.Opts.Args, args...)
s.buildCondition(symbol, cond) s.buildCondition(symbol, cond)

2
go.mod
View File

@ -2,7 +2,7 @@ module git.botann.com/lijun/sql-builder
go 1.21.5 go 1.21.5
require git.botann.com/tinycs/boomerang v1.4.7 require git.botann.com/tinycs/boomerang v1.4.12
require ( require (
github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect

2
go.sum
View File

@ -1,5 +1,7 @@
git.botann.com/tinycs/boomerang v1.4.7 h1:O3M38Y1i+Kl/U9ii4U124r0MKibVQcZ+a9IjOTpSOu4= git.botann.com/tinycs/boomerang v1.4.7 h1:O3M38Y1i+Kl/U9ii4U124r0MKibVQcZ+a9IjOTpSOu4=
git.botann.com/tinycs/boomerang v1.4.7/go.mod h1:JA5Fu88ZdYmkWMXVLRe/bZ3GE/iWxPUUvi1hSsg3cOQ= git.botann.com/tinycs/boomerang v1.4.7/go.mod h1:JA5Fu88ZdYmkWMXVLRe/bZ3GE/iWxPUUvi1hSsg3cOQ=
git.botann.com/tinycs/boomerang v1.4.12 h1:IcvLkzHFnVkJRNsMaDEPs8ixaRHpLw6IdhKNyZdHZY4=
git.botann.com/tinycs/boomerang v1.4.12/go.mod h1:YTA0bw60BnajniDSvTyVt6vYtBKLEf70eG/gKfSDz80=
github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0=
github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/UNO-SOFT/zlog v0.8.1 h1:TEFkGJHtUfTRgMkLZiAjLSHALjwSBdw6/zByMC5GJt4= github.com/UNO-SOFT/zlog v0.8.1 h1:TEFkGJHtUfTRgMkLZiAjLSHALjwSBdw6/zByMC5GJt4=

View File

@ -50,28 +50,24 @@ func (p *Page) SetPageSize(pageSize int) {
func TestOracle(t *testing.T) { func TestOracle(t *testing.T) {
var err error var err error
type Employye struct { type Area struct {
EmployeeId int `json:"employee_id"` Autoseq int `json:"autoseq"`
FirstName string `json:"first_name"` Name string `json:"name"`
LastName string `json:"last_name"` Id string `json:"id"`
Email string `json:"email"` AreaDn string `json:"area_dn"`
Rn int Rn int `json:"rn"`
} }
var data []Employye var data []Area
var ids = []int{86986, 86987}
sqlb := OracleSqlBuilder() sqlb := OracleSqlBuilder()
err = sqlb.SetSchema("HR") sqls := `select autoseq,name,id,area_dn from tareas where del = 0 @c1 @c2`
if err != nil {
fmt.Println(err)
}
var ids = []int{100, 101, 102}
sqls := `select employee_id,first_name,last_name,email from employees where 1=1 @c1 @c2`
sqlb.Sql = sqls sqlb.Sql = sqls
sqlb.InsertConditions("@c1", "employee_id in (:in)", ids) sqlb.InsertConditions("@c1", "area_dn like ?", "level1=1,level2=85226,level3=86918,level4=86919,level5=86986%")
sqlb.InsertConditions("@c2", "first_name = :first_name and last_name = :last_name", "Steven", "King") sqlb.InsertConditions("@c2", "autoseq in (?)", ids)
page := Page{PageIndex: 1, PageSize: 10} page := Page{PageIndex: 1, PageSize: 10}
err = sqlb.PaginateBySql(&data, &page) err = sqlb.PaginateBySql(&data, &page)
page.Data = &data page.Data = &data
fmt.Println(err, page.Data) fmt.Println(err, page)
} }
func TestMysql(t *testing.T) { func TestMysql(t *testing.T) {