1,List集合按某个属性或者字段进行分组
(1) List分组 按照Student对象中的Institution(学院)属性进行分组统计
核心代码
Map<String, List<Student>> collect = stuList.stream().
collect(Collectors.groupingBy(Student::getInstitution));
(2) 按照性别进行分组运算
按照学院分组,得到体院集合中6个对象,文学院2个对象,理学院1个对象,信息学院1个对象
List<Map<String,Object>>分组统计 根据性别分类
核心代码:
Map<String, List<Map<String, Object>>> gslist =
agentList.stream().collect
(Collectors.groupingBy(e -> e.get("sex").toString()));
2,Authentication讲解(Spring security认证)
3,@RequestMapping(value = {"/{version}/viewed"})
其中{version}表示设置的绝对路径
4, 使用动态拼接sql用到的相关包以及实现代码
以下代码的功能:使用sql语句查询符合四个查询条件 userid,skuid,channelcode,createat的数据库表的行记录
import org.apache.ibatis.jdbc.SQL;
public String selectByIdAndCreatedAt(String userId,String channelCode,String skuId,String createdAt) {
SQL sql = new SQL();
sql.SELECT("`uid`");
sql.SELECT("channel_code");
sql.SELECT("user_id");
sql.SELECT("`name`");
sql.SELECT("shop_name");
sql.SELECT("sku_id");
sql.SELECT("image_url");
sql.SELECT("short_url");
sql.SELECT("h5_url");
sql.SELECT("price");
sql.SELECT("ratio");
sql.SELECT("promotion_fund");
sql.SELECT("commission");
sql.SELECT("has_coupon");
sql.SELECT("coupon_discount");
sql.SELECT("self_sale");
sql.SELECT("created_at");
sql.SELECT("updated_at");
sql.FROM("viewed_goods");
if(userId != null&&!userId.equals("")){
sql.WHERE("`user_id` = #{userId,jdbcType=VARCHAR}");
}
if(channelCode != null&&!channelCode.equals("")){
sql.WHERE("`channel_code` = #{channelCode,jdbcType=VARCHAR}");
}
if(skuId != null&&!skuId.equals("")){
sql.WHERE("`sku_id` = #{skuId,jdbcType=VARCHAR}");
}
if(createdAt != null&&!createdAt.equals("")){
sql.WHERE("convert(varchar(100), created_at, 23) = #{createdAt,jdbcType=VARCHAR}");
}
return sql.toString();
}