|
@@ -5,6 +5,7 @@ import (
|
|
|
"database/sql"
|
|
|
"fmt"
|
|
|
"log"
|
|
|
+ "reflect"
|
|
|
"strings"
|
|
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
@@ -69,12 +70,27 @@ func (m *Mysql) Insert(tableName string, data map[string]interface{}) int64 {
|
|
|
}
|
|
|
return id
|
|
|
}
|
|
|
+
|
|
|
+/*不等于 map[string]string{"ne":"1"}
|
|
|
+ *
|
|
|
+ */
|
|
|
func (m *Mysql) Find(tableName string, query map[string]interface{}, fields, order string, start, pageSize int) *[]map[string]interface{} {
|
|
|
fs := []string{}
|
|
|
vs := []interface{}{}
|
|
|
for k, v := range query {
|
|
|
- fs = append(fs, fmt.Sprintf("%s=?", k))
|
|
|
- vs = append(vs, v)
|
|
|
+ rt := reflect.TypeOf(v)
|
|
|
+ rv := reflect.ValueOf(v)
|
|
|
+ if rt.Kind() == reflect.Map {
|
|
|
+ for _, rv_k := range rv.MapKeys() {
|
|
|
+ if rv_k.String() == "ne" {
|
|
|
+ fs = append(fs, fmt.Sprintf("%s!=?", k))
|
|
|
+ vs = append(vs, fmt.Sprint(rv.MapIndex(rv_k).Interface()))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ fs = append(fs, fmt.Sprintf("%s=?", k))
|
|
|
+ vs = append(vs, v)
|
|
|
+ }
|
|
|
}
|
|
|
var buffer bytes.Buffer
|
|
|
buffer.WriteString("select ")
|