Skip to main content
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.