zoukankan      html  css  js  c++  java
  • 看代码所学3

    1、随机数:RandomUtils.nextInt(起点,终点);   Int可更改
     
    2、为什么使用uuid作为主键而不是使用自增id,因为可能存在分库,不能控制每个分库中id的自增点,每个库中的id会重复;然后id会增长到什么规模都不知道,所以使用uuid是个比较好的选择。
            uuid生成:UUIDUtils.createUuid(x -> lessonGroupDao.getUuid(x) != null)
            createUuid中存放的是一个断言式接口。
              原始的生成方式:将”—“都替换成”"
             UUID.randomUUID().toString().replaceAll("-", "”);
     
    3、怎么在mybatis中插入了自增主键之后还要能够取出这个主键
            在insert或update的配置中加入 useGeneratedKeys=“true” , keyProperty="主键名"
            <insert id="saveMsg" parameterType="cn.com.hyddl.smarthome.notice.core.nano.Notice"useGeneratedKeys="true" keyProperty="msgId”>
     
    4、rocketmq
            消息顺序性:生产者先生产消息m1,m2到mqserver,然后,为了保证m1先于m2被消费,则让mqserver先发送m1,当消费者接收到后将应答信号发送到mqserver,如果mqserver接受失败就重新发送m1到消费者,知道成功;当mqserver接受应答信号成功就发送m2。但是,有可能m1已经被消费了,但是应答信号发送失败,这就产生了消息重复发送的可能。
            消息重复性:这个就设计到了等幂性了:不同消息在同一个系统上的响应一致。可以在消费端设置一个去重的日志表,将同样id的消息失效,但是会影响性能,所以rocketmq的去重需要在业务中进行。
     
    5、MultipartFile file   前端传来的是一个文件
        MultipartHttpServletRequest request 前端传来的是一个request请求(其中可能包含多文件)
        
        request.getFileNames——>获取传输的多个文件的文件名
        Iterator<String> it = request.getFileNames();
        While(it.hasNext()){
              MultipartFile file = request.getFile(it.next);
        }
       
        file.getName——>获取表单对应名称(不是文件名称)
        file.getOriginalFileName——>获取文件名字
    文件后缀获取方法:
    String fileExt = StringUtils.isBlank(originalName) ?
            ContentTypeUtils.getFileExt(contentType) :
            "." + originalName.substring(originalName.lastIndexOf('.') + 1);
    这个后缀获取需要解释几个地方:
        1、由于我们使用contentType,然后参考MIME文件的话是不靠谱的,因此我们还是尽量使用自带的文件尾缀,使用contentType只是为了兜底
        2、而当我们使用substring的时候我们没有用文件自带的“.”,而是我们自己加一个”.”,因为极端情况下,文件名是啥都没有的,连.都没有,我们用lastIndexOf(’.’)就会返回-1,+1为了截取.后面的内容(也是为了防止报错,很细节这个地方),然后我们给这个前面加上个自己做的“.”
  • 相关阅读:
    Autodesk Infrastructure Map Server(AIMS)/MapGuide API 培训材料第6章
    安装Vault Professional Server的一些问题
    Autodesk Infrastructure Map Server(AIMS)/MapGuide API 培训材料第2章
    C++的构造函数和析构函数
    一些常用的字符串hash函数
    类的operator new与operator delete的重载
    计算字符串的相似度(编辑距离)
    C++的重载(overload)与重写(override)
    穷举法解24点游戏
    C语言字符串库函数的实现
  • 原文地址:https://www.cnblogs.com/television/p/9353774.html
Copyright © 2011-2022 走看看