Skip to content

Commit 8cede05

Browse files
committed
Update README
1 parent 9d07e3b commit 8cede05

1 file changed

Lines changed: 42 additions & 12 deletions

File tree

README.md

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
## Features
1111
+ Support for automatic table creation and addition columns.
1212
+ Provide APIs for adding, deleting, modifying, and querying.
13+
+ Provides aggregate function APIs.
1314
+ APIs are simple, elegant and efficient to use.
1415

1516

@@ -21,7 +22,7 @@ repositories {
2122
}
2223
2324
dependencies {
24-
implementation 'com.github.artbits:sqlite-java:1.0.1'
25+
implementation 'com.github.artbits:sqlite-java:1.0.2'
2526
}
2627
```
2728
Maven:
@@ -34,33 +35,32 @@ Maven:
3435
<dependency>
3536
<groupId>com.github.artbits</groupId>
3637
<artifactId>sqlite-java</artifactId>
37-
<version>1.0.1</version>
38+
<version>1.0.2</version>
3839
</dependency>
3940
```
4041

4142

4243
## Usage
43-
Let Java classes be mapped into database tables.
44+
Let Java classes be mapped into database tables. extends ``DataSupport`` class. The fields ``id``, ``createdAt``, and ``updatedAt`` are internal fields, please read them only when using them.
4445
```java
45-
public class User {
46-
public Long id;
46+
public static class User extends DataSupport<User> {
4747
public String name;
4848
public Integer age;
4949
public Boolean vip;
5050

5151
public User(Consumer<User> consumer) {
52-
consumer.accept(this);
52+
super(consumer);
5353
}
5454
}
5555

56-
public class Book {
57-
public Long id;
56+
57+
public class Book extends DataSupport<Book> {
5858
public String name;
5959
public String author;
6060
public Double price;
6161

6262
public Book(Consumer<Book> consumer) {
63-
consumer.accept(this);
63+
super(consumer);
6464
}
6565
}
6666
```
@@ -76,7 +76,7 @@ Insert data.
7676
// No need to set ID, ID will increase automatically when inserting data.
7777
User user = new User(u -> {u.name = "Lake"; u.age = 25; u.vip = true;});
7878
db.insert(user);
79-
System.out.printf("userId = %d", user.id);
79+
user.printJson();
8080
```
8181

8282
Update data.
@@ -103,7 +103,7 @@ db.delete(User.class, 1L, 2L, 3L);
103103
db.delete(User.class, Arrays.asList(1L, 2L, 3L));
104104

105105
// Delete data by condition.
106-
db.delete(User.class, "name = ?", "Lake");
106+
db.delete(User.class, "name = ? && vip = ?", "Lake", false);
107107
```
108108

109109
Query data.
@@ -114,6 +114,18 @@ User user1 = db.findOne(User.class, 1L);
114114
// Find one by condition.
115115
User user2 = db.findOne(User.class, "name = ?", "Lake");
116116

117+
// Find first.
118+
User user3 = db.first(User.class);
119+
120+
// Find first by condition.
121+
User user4 = db.first(User.class, "vip = ?", true);
122+
123+
// Find last.
124+
User user1 = db.last(User.class);
125+
126+
// Find last by condition.
127+
User user2 = db.last(User.class, "vip = ?", false);
128+
117129
// Find all.
118130
List<User> users1 = db.findAll(User.class);
119131

@@ -126,12 +138,30 @@ List<User> users3 = db.find(User.class, Arrays.asList(1L, 2L, 3L));
126138
// Find many by custom option rules. Options APIs are optional, choose according to actual needs.
127139
List<User> users4 = db.find(User.class, options -> options
128140
.select("name", "age")
129-
.where("age <= ?", 50)
141+
.where("age <= ? && vip = ?", 50, true)
130142
.order("age", Options.DESC)
131143
.limit(5)
132144
.offset(1));
133145
```
134146

147+
Aggregate function.
148+
```java
149+
long count1 = db.count(User.class);
150+
long count2 = db.count(User.class, "vip = ?", true);
151+
152+
double average1 = db.average(User.class, "age");
153+
double average2 = db.average(User.class, "age", "vip = ?", false);
154+
155+
int sum1 = db.sum(User.class, "age").intValue();
156+
int sum2 = db.sum(User.class, "age", "vip = ?", false).intValue();
157+
158+
int max1 = db.max(User.class, "age").intValue();
159+
int max2 = db.max(User.class, "age", "vip = ?", false).intValue();
160+
161+
int min1 = db.min(User.class, "age").intValue();
162+
int min2 = db.min(User.class, "age", "vip = ?", true).intValue();
163+
```
164+
135165

136166

137167
## Links

0 commit comments

Comments
 (0)