zoukankan      html  css  js  c++  java
  • java 常用

    1、使用第三方PageHelper分页对象
    Page<MallCashcouponUser> page = PageHelper.startPage(mallCashcouponUser.getPageIndex(), mallCashcouponUser.getPageSize())
    .doSelectPage(() -> mallCashcouponUserMapper.getNotUseCashcoupon(userId));
    List<MallCashcouponUser> mallCashcouponUserList = page.getResult();

    PageView pageView = PageView.getPageView(mallCashcouponUser.getPageIndex(), mallCashcouponUser.getPageSize());
    pageView.setRowCount(page.getTotal());

    return responseWithJson(request, true, mallCashcouponUserList,pageView);

    2、计算Double型保留2位并转化成String:
    goodsSku.setSkuOriginalPrice(Double.parseDouble(String.format("%.2f",Double.valueOf(price)*1.12));// 易购价
    Double型向上保留1位:
    new BigDecimal(Double.parseDouble(String.format("%.2f",Double.valueOf(price)*Constants.MALL_SNPRICE_ORIGINAL_PERCENT_UNFIXED))).setScale(1, BigDecimal.ROUND_UP).doubleValue();
    Double型比较大小:
    Double.doubleToLongBits(record.getPayFee())!=Double.doubleToLongBits(payFee)
    Integer型比较大小
    要么调用Integer.intValue()转为基本类型用“==”比较,要么直接用equals比较。

    3、RequestMapping中属性作用
    生产:produces="application/json;charset=UTF-8";
    消费:consumes="application/x-www-form-urlencoded;charset=UTF-8";

    4、验证手机号正则
    private static boolean isMobileNO(String mobiles){
    Pattern p = Pattern.compile("^(1[0-9])\d{9}$");
    Matcher m = p.matcher(mobiles);
    return m.find();
    }
    5、json格式互转
    对象转json:
    String questionOptions = JsonUtils.objectToJson(optionslist);
    json转对象:
    QOptionsV qOptionsVBean = (QOptionsV)JSONObject.toBean(JSONObject.fromObject(answers.getQuestionOptions()),QOptionsV.class);
    集合转json:
    JSONArray jsonArray = JSONArray.fromObject(list);
    json转集合:
    List<Employee> list = (List<Employee>) jsonArray.toCollection(jsonArray, Employee.class);

    6、请求转json
    //request.getInputStream()转json
    String jsonParam= null;
    try {
    BufferedReader streamReader = new BufferedReader( new InputStreamReader(super.getInputStream(), "UTF-8"));
    StringBuilder responseStrBuilder = new StringBuilder();
    String inputStr;
    while ((inputStr = streamReader.readLine()) != null){

    responseStrBuilder.append(inputStr);

    JSONObject jsonObject = JSONObject.parseObject(responseStrBuilder.toString());
    jsonParam= jsonObject.toJSONString();

    System.out.println(jsonParam);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }

    7、Beanutils拷贝对象
    BeanUtils.copyProperties(userForm, user); //拷贝要修改的值

    8、验证数据的正确性
    java的校验框架执行,比如JSR303;
    除了JSR303验证方法,我们还可以使用spring validator,来自定义自己的校验规则。

    9、Spring断言Assert类校验入参
    Assert.notNull(record.getOriginalMemberId(), "被回复人ID不能为空");
    Assert.hasText(record.getReplyEvaluation(), "回复内容不能为空");
    Assert.isTrue(evaluation.getAuditStatus()==1, "原评论未审核通过");

    10、java8之Optional空值处理
    User user = new User("john@gmail.com", "1234");
    List<String> emails = Optional.ofNullable(user)
    .stream()
    .filter(u -> u.getEmail() != null && u.getEmail().contains("@"))
    .map( u -> u.getEmail())
    .collect(Collectors.toList());

    11、一些名词
    spring 可以看成一个大的集合,他由许多开源框架和组件组成,是一个统称;
    springframework 是sping 里面的一个开源框架,主要用户javaee的企业开发;
    springmvc是springframework里面的一个组件,用于javaee开发过程中的控制层,相当于struts的功能;

    什么是热部署:服务器正在运行,无须重启服务器,就可以加载更改的代码;
    热部署:就是容器状态在运行的情况下重新部署整个项目.
    在这种情况下一般整个内存会清空,重新加载.这种方式可能会造成session丢失等情况.
    简单来说就是Tomcat或者其他的web服务器会帮我们重新加载项目.
    热加载:就是容器状态在运行的情况下重新加载改变编译后的类.
    在这种情况下内存不会清空,session不会丢失,但容易造成内存溢出,或者找不到方法。
    因为内存无法转变成对像.一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的.

    12、Eclipse快速查询该类被哪些类引用了
    在类名上点击右键,选Reference->Workingspace或者直接快捷键Ctrl+Shift+G

    13、list迭代器
    for(Iterator<String> it=list.iterator();it.hasNext();){
    System.out.println(it.next());
    }

    14、读取文件目录
    new File(Text.class.getResource("/template").getFile())

    15.调试函数
    if (!WebTool.isDebugger()) {
    int userId= 4;
    }

  • 相关阅读:
    数论-剩余类、完全剩余系、缩系、欧拉函数
    数论-同余式
    计算机科研项目中的重点项目、重大项目、重大研究计划项目,重点研发计划有什么区别和联系?
    VFS虚拟文件系统
    git中文名转义带来的麻烦;git配置之core.quotepath;git中文乱码
    nodejs 与 npm 配置
    mongodb 部署 安装 使用 记录
    GPG error: https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 656408E390CFB1F5
    slurm 网路监控软件使用
    Win10 64位,北航研究生教务系统文件打印办法(旧版GSMIS),只要三步就能解决;
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10718285.html
Copyright © 2011-2022 走看看