【JAVA学习】

每日学习

LambdaQueryWrapper

  1. 条件1 and (条件2(值不为null) or 条件3(值不为null))
    .nested()作为括号,确定优先级
LambdaQueryWrapper<sql语句返回的类> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(sql语句返回的类::get指定字段,query.get指定字段)
			.nested(i->i.isNotNull(sql语句返回的类::get指定字段).or().isNotNull(sql语句返回的类::get指定字段));

最后的SQL语句会是条件1值相等 and (值2 is not null or 值3 is not null)

  1. 根据某个字段进行排序.orderByDesc(),sql语句的最后部分.last()

.last()一般可以写limit 1 对记录数进行限制。IService的getOne方法不会只返回1条记录,要用limit 1 进行限制,那getOne方法有什么作用?
答:getOne方法如果sql返回的结果不止一条,会报错,如果想取返回的第一条,可以增加一个参数,false在这个方法中

  1. LambdaQueryWrapper IService.getOne()是如何与表进行绑定,怎么知道查询哪张表?
  2. .eq()方法可以传入三个参数,第一个参数传入一个状态,一般可以用来判断是否为空,不是空进行字段值的匹配,是空,不进行下一步,第二个参数是sql语句中的字段,第三个参数是传入的参数
  3. 排序方法,.orderByAsc(“”)可以叠加使用,一个连接一个使用

将列表中的一个字段保存成列表

用stream().map()

List<String> idList = list.stream().map(list中的类class::get指定字段).distinct().collect(Collectors.toList());

将列表转换为map

Collectors.toMap(获取字段,a->a,(b1,b2)->b1)

指的是如果获取字段作为key值有重复,最后一个参数表明直接取第一个

将列表传入到sql语句中,作为in的值

  1. XXquery类中增加一个List<String>queryList;
  2. 在设定list之前,需要对list进行空值,null值判断,如果是空的就不用传到sql中执行
if(list == null || list.size() == 0){
   
return ;
  1. 在处理数据时,将query.setList(指定list)
  2. 将query设置为service一个方法的参数
  3. 在SQL语句中对queryList做判断
 <if test="query.queryList != null and query.queryList.size() >0">
 	AND id IN
 	<foreach collection = "query.queryList" item="ids" open="(" separator="," close=")">
 		#{ids}
 	</foreach>
 </if>

一个类的列表,根据一个字段分组,再将小组中相同的字段累加,一组返回一个对象

Map<String,对象> map = new HashMap<>();
for(对象 o : list){
   
	// 从对象中按照某一规则拿出key
	String key = o.get指定字段();
	if(map.containsKey(key)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值