Hint
This article is generated by AI translation.
Fluent API (LambdaTemplate)
The Fluent API offers type-safe, fluent database access. For MongoDB, LambdaTemplate lets you build query/update conditions with Java lambdas.
Initialize
Create LambdaTemplate directly from a JDBC Connection.
import net.hasor.dbvisitor.lambda.LambdaTemplate;
import java.sql.Connection;
Connection conn = ...; // MongoDB JDBC connection
LambdaTemplate lambda = new LambdaTemplate(conn);
CRUD
Insert
UserInfo user = new UserInfo();
user.setUid("1001");
user.setName("test_user");
// Insert
int result = lambda.insert(UserInfo.class)
.applyEntity(user)
.executeSumResult();
Query
Use eq, ne, gt, lt, etc. to build conditions.
// Find by ID
UserInfo user = lambda.query(UserInfo.class)
.eq(UserInfo::getUid, "1001")
.queryForObject();
// List query
List<UserInfo> users = lambda.query(UserInfo.class)
.like(UserInfo::getName, "test%")
.queryForList();
Update
Specify conditions and fields to update.
int result = lambda.update(UserInfo.class)
.eq(UserInfo::getUid, "1001") // Condition: UID = 1001
.updateTo(UserInfo::getName, "New Name") // Update Name field
.doUpdate();
Delete
int result = lambda.delete(UserInfo.class)
.eq(UserInfo::getUid, "1001") // Condition: UID = 1001
.doDelete();
Advanced
LambdaTemplate supports grouping, sorting, paging, etc., translated to MongoDB commands.
// Paged query
List<UserInfo> pageList = lambda.query(UserInfo.class)
.eq(UserInfo::getStatus, "ACTIVE")
.orderBy(UserInfo::getCreateTime)
.usePage(0, 10) // Page 0, size 10
.queryForList();
info
The Fluent API avoids hard-coded strings (like column names) and benefits from Java’s type checking.