Skip to content

Commit 99334fc

Browse files
authored
Merge pull request #18 from LanceAdd/main
[LanceAdd]GoFrame ORM WhereBuilder Support
2 parents da98734 + 753b1e7 commit 99334fc

File tree

3 files changed

+51
-3
lines changed

3 files changed

+51
-3
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
.idea
33
.qodana
44
build
5-
.DS_Store
5+
.DS_Store
6+
.intellijPlatform

example/goframe/main.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,17 @@ func test5() {
4949
query = query.Where("id = ?", "")
5050
return
5151
}
52+
53+
func test6() {
54+
model := g.Model(&User{})
55+
condition := model.Builder()
56+
condition = condition.Where("id IN ?", g.Slice{1, 2, 3, 4})
57+
58+
// @Table(user)
59+
condition = condition.WhereOr(`id IN ?`, g.Slice{1, 2, 3, 4})
60+
61+
condition = condition.WhereOr("user_name = ?", "zhangsan")
62+
63+
// @Model(User)
64+
condition = condition.WhereGT("age", 11)
65+
}

src/main/java/com/github/maiqingqiang/goormhelper/orm/goframe/GoFrameTypes.java

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,35 @@ public interface GoFrameTypes {
5858
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).WhereOrNotIn"), 0),
5959
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).WhereOrNotNull"), -1),
6060

61+
// @Doc https://goframe.org/pages/viewpage.action?pageId=7301832#ORM%E6%9F%A5%E8%AF%A2Where/WhereOr/WhereNot-WhereBuilder%E5%A4%8D%E6%9D%82%E6%9D%A1%E4%BB%B6%E7%BB%84%E5%90%88
62+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).Where"), 0),
63+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).Wheref"), 0),
64+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereBetween"), 0),
65+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereLike"), 0),
66+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereIn"), 0),
67+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereNull"), 0),
68+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereLT"), 0),
69+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereLTE"), 0),
70+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereGT"), 0),
71+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereGTE"), 0),
72+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereNotBetween"), 0),
73+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereNotLike"), 0),
74+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereNotIn"), 0),
75+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereNotNull"), -1),
76+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOr"), 0),
77+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrBetween"), 0),
78+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrLike"), 0),
79+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrIn"), 0),
80+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrNull"), -1),
81+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrLT"), 0),
82+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrLTE"), 0),
83+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrGT"), 0),
84+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrGTE"), 0),
85+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrNotBetween"), 0),
86+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrNotLike"), 0),
87+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrNotIn"), 0),
88+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOrNotNull"), -1),
89+
6190
// @Doc https://goframe.org/pages/viewpage.action?pageId=7301838
6291
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).All"), -1),
6392
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).One"), -1),
@@ -121,11 +150,15 @@ public interface GoFrameTypes {
121150
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).FindValue"), Types.OPERATOR_EXPR),
122151
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).FindCount"), Types.OPERATOR_EXPR),
123152
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).FindScan"), Types.OPERATOR_EXPR),
124-
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).Having"), Types.OPERATOR_EXPR)
153+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.Model).Having"), Types.OPERATOR_EXPR),
154+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).Where"), Types.OPERATOR_EXPR),
155+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).Wheref"), Types.OPERATOR_EXPR),
156+
Map.entry(GoMethodDescriptor.of("(*github.com/gogf/gf/database/gdb.WhereBuilder).WhereOr"), Types.OPERATOR_EXPR)
125157
);
126158

127159
Set<GoCallableDescriptor> ALLOW_TYPES = Set.of(
128-
GoTypeSpecDescriptor.of("github.com/gogf/gf/database/gdb.Model")
160+
GoTypeSpecDescriptor.of("github.com/gogf/gf/database/gdb.Model"),
161+
GoTypeSpecDescriptor.of("github.com/gogf/gf/database/gdb.WhereBuilder")
129162
);
130163

131164
GoTypeSpecDescriptor G_META = GoTypeSpecDescriptor.of("github.com/gogf/gf/frame/g.Meta");

0 commit comments

Comments
 (0)