每日知识记载总结52

  1. fastjson使用

    //(1)转换为字符串 保存
    JSON.toJSONString(value, SerializerFeature.WriteClassName)

    // 注意第一项 需要加入类型信息,不然将来字符串转化为对象时会报错
    // Exception in thread "main" java.lang.ClassCastException: com.alibaba.fastjson.JSONObject
    // cannot be cast to com.exa.demo2.PO.PeopleInfoPO

    //(2)转换Object为对象
    Record rec = (Record)JSON.parse(obj.toString());

    // 注意第二项 Record 对象需要有无参构造器

    // 注意第三项 Record 对象需要有无参构造器
    // 项目启动时 需要设置VM参数
    // idea -Dfastjson.parser.autoTypeSupport=true
    // sh脚本 java -server -Dfastjson.parser.autoTypeSupport=true -jar minitools-0.0.1-SNAPSHOT.jar
    // 注意 参数配置需要卸载jar包前

  2. redis 部分知识
    redis key value 数据最大值都是512M
    redis 保存集合对象的时候 无法设置过期时间 可以对key设置过期时间

    /**
    * 将list放入缓存
    * @param key 键
    * @param value 值
    * @param time 时间(秒)
    * @return
    */
    public boolean lSet(String key, Object value, long time) {
    try {
    redisTemplate.opsForList().rightPush(key, JSON.toJSONString(value, SerializerFeature.WriteClassName));
    if (time > 0) expire(key, time);
    return true;
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    }
    }

    /**
    * 指定缓存失效时间
    * @param key 键
    * @param time 时间(秒)
    * @return
    */
    public boolean expire(String key,long time){
    try {
    if(time>0){
    redisTemplate.expire(key, time, TimeUnit.SECONDS);
    }
    return true;
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    }
    }

  3. Java中length,length(),size()的区别(来源)

    length:是针对数组来说的,如果写了一个数组,想要知道数组的长度,则可以使用这个属性;

    length():是针对字符串String来说的,如果想看这个字符串的长度则用length()这个方法;

    size():是针对泛型集合来说的,如果想要知道这个泛型集合中有多少元素,即可使用size()这个方法。

    import java.util.ArrayList;
    import java.util.List;

    public class Test {
    public static void main(String[] args) {

    char s[]={'2','3','5','4','6','9'};//数组,用length
    System.out.println(s.length);

    String a="Hello World";//字符串,用length()
    System.out.println(a.length());

    List a1=new ArrayList();//集合,用size()
    a1.add("234");//集合中添加了一个元素
    System.out.println(a1.size());
    }
    }
    // 结果是: 6 11 1

  4. case when 用法


    case purchase_info.perform_status
    when 2
    then
    sum( purchase_entries.receive_count * merchant_product.sale_base_price )
    else
    sum( purchase_entries.purchase_count * purchase_entries.product_price )
    end as purchaseFaxAmount,


    case when wp.buy_amount is not null
    then
    SUM(wp.buy_amount)
    else
    SUM( IFNULL( wp.sale_count, 0 ) * IFNULL( wp.sale_price_include_tax, 0 ) ) end as wpba,

posted @ 2019-08-19 17:24  CalronLoveRonnie  阅读(159)  评论(0)    收藏  举报
AmazingCounters.com