Skip to content

Commit 531e455

Browse files
committed
修改sql builder
1 parent 8d91a7e commit 531e455

File tree

3 files changed

+8
-21
lines changed

3 files changed

+8
-21
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,7 @@ import "github.com/xfali/gobatis/builder"
240240
GroupBy("name").
241241
OrderBy("name").
242242
Desc().
243-
Offset(5).
244-
Limit(10).
243+
Limit(5, 10).
245244
String()
246245
t.Log(str)
247246
```

builder/sql.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -249,22 +249,13 @@ func (f *SQLFragment) Asc() *SQLFragment {
249249
return fragment
250250
}
251251

252-
func (f *SQLFragment) Offset(offset int64) *SQLFragment {
253-
fragment := &SQLFragment{}
254-
fragment.initParent(f)
255-
256-
fragment.builder.WriteString("OFFSET ")
257-
fragment.builder.WriteString(strconv.FormatInt(offset, 10))
258-
fragment.builder.WriteString(" ")
259-
260-
return fragment
261-
}
262-
263-
func (f *SQLFragment) Limit(limit int64) *SQLFragment {
252+
func (f *SQLFragment) Limit(offset, limit int64) *SQLFragment {
264253
fragment := &SQLFragment{}
265254
fragment.initParent(f)
266255

267256
fragment.builder.WriteString("LIMIT ")
257+
fragment.builder.WriteString(strconv.FormatInt(offset, 10))
258+
fragment.builder.WriteString(", ")
268259
fragment.builder.WriteString(strconv.FormatInt(limit, 10))
269260
fragment.builder.WriteString(" ")
270261

test/sqlbuilder_test.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,12 @@ func TestSqlBuilderSelect(t *testing.T) {
3535
Hook(hook).
3636
Desc().
3737
Hook(hook).
38-
Offset(5).
39-
Hook(hook).
40-
Limit(10).
38+
Limit(5, 10).
4139
Hook(hook).
4240
String()
4341
t.Log(str)
4442

45-
if strings.TrimSpace(str) != `SELECT test1, test2 FROM test_a WHERE id = 1 AND name=2 GROUP BY name ORDER BY name DESC OFFSET 5 LIMIT 10` {
43+
if strings.TrimSpace(str) != `SELECT test1, test2 FROM test_a WHERE id = 1 AND name=2 GROUP BY name ORDER BY name DESC LIMIT 5, 10` {
4644
t.FailNow()
4745
}
4846
})
@@ -58,12 +56,11 @@ func TestSqlBuilderSelect(t *testing.T) {
5856
GroupBy("name").
5957
OrderBy("name").
6058
Desc().
61-
Offset(5).
62-
Limit(10).
59+
Limit(5, 10).
6360
String()
6461
t.Log(str)
6562

66-
if strings.TrimSpace(str) != `SELECT A.test1, B.test2, B.test3 FROM test_a AS A, test_b AS B WHERE id = 1 AND name=2 GROUP BY name ORDER BY name DESC OFFSET 5 LIMIT 10` {
63+
if strings.TrimSpace(str) != `SELECT A.test1, B.test2, B.test3 FROM test_a AS A, test_b AS B WHERE id = 1 AND name=2 GROUP BY name ORDER BY name DESC LIMIT 5, 10` {
6764
t.FailNow()
6865
}
6966
})

0 commit comments

Comments
 (0)