惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
T
Tailwind CSS Blog
博客园_首页
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
J
Java Code Geeks
量子位
D
DataBreaches.Net
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
C
Check Point Blog
V
Visual Studio Blog
H
Help Net Security
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Create condition using JooqTemplate
ts5432 · 2026-06-16 · via DEV Community

ts5432

1. condition

Create a Condition from a Field, an operator, and a value.

public Condition condition(Name fieldName, String operator, Object[] values)

2. conditions

Parse varargs into List. Arguments are grouped in pairs (fieldName, value). An operator suffix can be appended to the field name.

public List<Condition> conditions(Object... condtionKvs)

example:

// Basic usage: pairs of (fieldName, value)
List<Condition> conds = jt.conditions(
    "name", "John",                 // name = 'John'
    "birthday≥", beginDate        // birthday ≥ '2020-01-01'
);

// Mixing Condition objects
List<Condition> conds = jt.conditions(
    "name", name,
    F("create_time").isNotNull(),  // passing a Condition directly
    "birthday:desc"               // OrderBy: birthday DESC (ignored for conditions)
);

// Using conditions with query
List<User> list = jt.query("user_table", User.class,
    jt.conditions("name%", name, "birthday>=", beginDate));

Operator Meaning Example
(none) or == Equal (eq / isNull) "name", value → name = ?
% Contains (LIKE) "name%", "Jo" → name LIKE '%Jo%'
%L Starts with "name%L", "Jo" → name LIKE 'Jo%'
%R Ends with "name%R", "hn" → name LIKE '%hn'
> Greater than "birthday>", date → birthday > ?
>= Greater than or equal "birthday>=", date → birthday >= ?
< Less than "age<", 18 → age < ?
<= Less than or equal "age<=", 18 → age <= ?
<> Not equal "name<>", "admin" → name <> ?
in IN query "id", list (Collection/array value) → id IN (?,?,?)
notin NOT IN query "id:notin", list → id NOT IN (?,?,?)
isnull IS NULL (unary, no value argument) "name:isnull" → name IS NULL
isnotnull IS NOT NULL (unary, no value argument) "name:isnotnull" → name IS NOT NULL

3. Order By

In varargs, can append sort operators to field names to specify ordering. can also pass OrderField objects directly.
example:

// Mix ordering in varargs
List<User> list = jt.queryv("user_table", User.class,
    "birthday:desc",            // ORDER BY birthday DESC
    F("name").asc().nullsLast()  // ORDER BY name ASC NULLS LAST
);

// Pass order list to query()
List<User> list = jt.query("user_table", User.class, conditions,
    Arrays.asList(F("birthday").desc(), F("name").asc()));

Sort Operator Meaning
fieldName:asc ASC
fieldName:desc DESC
fieldName:ascnf ASC NULLS FIRST
fieldName:ascnl ASC NULLS LAST
fieldName:descnf DESC NULLS FIRST
fieldName:descnl DESC NULLS LAST