常用操作示例

查询

in 语句查询示例

  • 查询的表是 professor,查询的字段是 id
  • 使用 java 的 stream 语法拼接
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import org.junit.Test;

import com.litongjava.jfinal.plugin.activerecord.Db;
import com.litongjava.jfinal.plugin.activerecord.Record;
import com.litongjava.open.chat.config.DbConfig;
import com.litongjava.tio.utils.environment.EnvUtils;

public class TestQueryWithIn {

  @Test
  public void test() {
    EnvUtils.load();
    new DbConfig().config();
    List<Integer> teacherIds = new ArrayList<>();
    // 添加你的teacherIds到列表中
    teacherIds.add(1138444);
    teacherIds.add(2720210);
    teacherIds.add(1970588);

    if (teacherIds.isEmpty()) {
      // 如果teacherIds列表为空,则不执行查询或处理其他逻辑
      return;
    }

    String ids = teacherIds.stream().map(id -> "?").collect(Collectors.joining(", "));
    System.out.println(ids);

    String sql = "SELECT * FROM professor WHERE id IN (" + ids + ")";

    List<Record> professors = Db.find(sql, teacherIds.toArray());
    System.out.println(professors.size());
  }
}

从 record 中获取记录

// Generate the IN clause using cityId from records
String cityIds = records.stream().map(record -> record.getStr("id")).collect(Collectors.joining(", "));
// Create the SQL query with the IN clause
String sql = "SELECT city_hot_business_district FROM lrb_city WHERE city_id IN (" + cityIds + ")";