常用操作示例
查询
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 + ")";