Skip to main content
Hint

This article is generated by AI translation.

Fluent API

dbVisitor's builder provides a convenient, fluent interface for creating and running database queries. It can handle most database operations in your app and works seamlessly with every database system dbVisitor supports.

Highlights
  • Focuses on database access portability; no SQL writing needed to access any database.
1. Entity
@Table("users")
public class User {
@Column(name = "id", primary = true, keyType = KeyTypeEnum.Auto)
private Long id;
@Column("name")
private String name;
...
}
2. Create
DataSource dataSource = ...
LambdaTemplate lambda = new LambdaTemplate(dataSource);

Or

Connection conn = ...
LambdaTemplate lambda = new LambdaTemplate(conn);
3. Insert
LambdaTemplate lambda = ...

User user1 = new User();
user1.setName("安妮.贝隆");
...

EntityInsert<User> insert = adapter.insert(User.class);
insert.applyEntity(user1);
int result = insert.executeSumResult();
// result = 1
4. Insert multiple
LambdaTemplate lambda = ...

User user1 = new User();
...
User user2 = new User();
...

EntityInsert<User> insert = lambda.insert(User.class);
insert.applyEntity(user1, user2);
int result = insert.executeSumResult();
// result = 2
5. Update
LambdaTemplate lambda = ...

User user1 = new User();
user1.setName("安妮.贝隆");
...

EntityUpdate<User> update = lambda.update(User.class);
int result = update.eq(User::getId, 1)
.updateTo(User::getName, "阿尔坎格罗·科莱里")
.doUpdate();
6. Delete
LambdaTemplate lambda = ...

EntityDelete<User> delete = adapter.delete(User.class);
int result = delete.eq(User::getId, 1)
.doDelete();
7. Query
LambdaTemplate lambda = ...

EntityQuery<User> query = lambda.query(User.class);
List<User> result = query.eq(User::getName, "阿尔坎格罗·科莱里")
.eq(User::getCountry, "意大利")
.queryForList();