每日记载内容总结45

  1. 基本的xml配置

     the basic structure of XML-based configuration metadata:
     <?xml version="1.0" encoding="UTF-8"?>
     <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans.xsd">
    
         <bean id="..." class="...">
             <!-- collaborators and configuration for this bean go here -->
         </bean>
    
         <bean id="..." class="...">
             <!-- collaborators and configuration for this bean go here -->
         </bean>
    
         <!-- more bean definitions go here -->
     </beans>

    beans —— xml文件的根节点。

    xmlns ——是XML NameSpace的缩写,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重复命名,而功能却不一样,所以需要加上一个namespace来区分这个xml文件和其他的xml文件,类似于java中的package。

    xmlns:xsi ——是指xml文件遵守xml规范,xsi全名:xml schema instance,是指具体用到的schema资源文件里定义的元素所准守的规范。即/spring-beans-2.0.xsd这个文件里定义的元素遵守什么标准。

    xsi:schemaLocation——是指,本文档里的xml元素所遵守的规范,schemaLocation 属性用来引用(schema)模式文档,解析器可以在需要的情况下使用这个文档对 XML 实例文档进行校验。它的值(URI)是成对出现的,第一个值表示命名空间,第二个值则表示描述该命名空间的模式文档的具体位置,两个值之间以空格分隔。
  2. Mybatis if test 判断数字时需要注意
    mybatis做if 判断 注意:下面这种写法只适用于 id 类型为字符串.

       <if test="id != null and id != '' ">
           id = #{id}
       </if>

    如果id类型为int 当id=0时 这个判断不会进入.可以这样写

     <if test="id != null and id != '' or id==0">
  3. Mybatis where set关于多余的符号或者连接符的处理

     WHERE:
     <where>
         <if test="phone != null and phone != ''">
             `CONTACT_PHONE`=#{phone}
         </if>
         <if test="shopperName != null and shopperName != ''">
             AND `SHOPKEEPER_NAME`=#{shopperName}
         </if>
         <if test="status != null and status != ''">
             AND `STATUS`=#{status}
         </if>
         <if test="startTime != null and startTime != ''">
             AND `CREATE_TIME`<![CDATA[ >= ]]> #{startTime}
         </if>
         <if test="endTime != null and endTime != ''">
             AND `CREATE_TIME` <![CDATA[ <= ]]> #{endTime}
         </if>
     </where>
    
     SET:
     <set> 
         <if test="name != null">
          `NAME` = #{name},
          </if>
          <if test="describe != null">
          `DESCRIBE` = #{describe},
          </if>
          <if test="headImg != null">
          `HEAD_IMG` = #{headImg}
          </if>
      </set>
  4. Mybatis 循环拼凑参数

     <foreach collection="stateTypeArr" index="index" item="item" open="b.STATE_TYPE IN(" separator="," close=")">
         #{item}
     </foreach>
  5. 拼凑表名,必须用${}

     SELECT * FROM `SSQS_ORDER_PRODUCT_${param2}` WHERE `ORDER_ID`=#{param1}
  6. springMVC下载文件(简单粗暴)

     controller
     @RequestMapping(name="下载提现记录",path ="/download", method = RequestMethod.GET, consumes = "application/octet-stream;charset=utf-8")
    
     String fileName = "WITHDRAW_RECORDS";
     response.setHeader("Content-Disposition", "attachment;filename='" + fileName + ".csv'");
     StringBuilder sBuilder = new StringBuilder();
     sBuilder.append("序号,用户ID,提现金额,可提现金额,银行,卡号,用户名,手机号,身份证号,提现时间,状态,备注");
     StringUtils.appendLine(sBuilder);
     for (int i = 0; i < withdraws.size(); i++) {
         ResUserWalletWithdraw resUserWalletWithdraw = withdraws.get(i);
         if (resUserWalletWithdraw != null){
             sBuilder.append(resUserWalletWithdraw.exportToCsv());
             StringUtils.appendLine(sBuilder);
         }
     }
     return sBuilder.toString();
    
     entity
     public String exportToCsv(){
         String statusStr = StringUtils.isNotBlank(status) ? 
                 (StringUtils.equals(status, "PENDING") ? "等待打款": 
                     (StringUtils.equals(status, "COMPLETED") ? "打款成功" : "打款失败")):"";
         return new StringBuilder()
                 .append(id).append(",")
                 .append(storeId).append(",")
                 .append(new BigDecimal(amount).divide(new BigDecimal("100")).setScale(0, BigDecimal.ROUND_HALF_UP).toString()).append(",")
                 .append(new BigDecimal(amountTotal).divide(new BigDecimal("100")).setScale(0, BigDecimal.ROUND_HALF_UP).toString()).append(",")
                 .append(bank).append(",")
                 .append(card).append(",")
                 .append(realName).append(",")
                 .append(phone).append(",")
                 .append(StringUtils.isBlank(certificateCode)?"":certificateCode).append(",")
                 .append(DateUtils.format(time)).append(",")
                 .append(statusStr).append(",")
                 .append(StringUtils.isBlank(reason)?"":reason)
                 .toString();
     }

    页面直接用a标签拼凑链接和参数即可。
    注:filename = '*.csv' 需要加引号,不然chrome不兼容。

转载于:https://www.cnblogs.com/cuiyf/p/6894821.html

Laya资源加载优化是指通过一些技术手段来提高LayaAir引擎中资源加载的效率,从而提升游戏或应用的性能和用户体验。下面列举一些常见的优化方法: 1. 图片资源压缩:可以使用图片压缩工具,如TinyPNG等,对图片资源进行有损压缩,减小资源文件的大小,从而提高加载速度。 2. 图片合并:将多个小图片合并成一张大图,减少HTTP请求次数,提高加载效率。可以使用LayaAir引擎提供的TexturePacker工具进行合并。 3. 资源预加载:在游戏或应用启动时,提前加载一些必要的资源,避免在游戏过程中动态加载造成的卡顿现象。可以使用LayaAir引擎提供的Loader类进行资源预加载。 4. 资源缓存:将已加载的资源缓存在内存中,避免重复加载,提高加载速度。可以使用LayaAir引擎提供的Browser.cacheRes()方法进行资源缓存。 5. 异步加载:将资源加载操作放在异步线程中进行,避免阻塞主线程,提高游戏或应用的流畅度。可以使用LayaAir引擎提供的Worker类进行异步加载。 6. 资源分组加载:将不同类型或优先级的资源分组进行加载,按需加载,避免一次性加载大量资源造成的卡顿现象。可以使用LayaAir引擎提供的Loader.loadGroup()方法进行资源分组加载。 以上是一些常见的Laya资源加载优化方法,根据具体情况选择适合自己项目的优化策略,可以有效提升游戏或应用的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值