zoukankan      html  css  js  c++  java
  • 每日记载内容总结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不兼容。

  • 相关阅读:
    MVC ORM 架构
    Kubernetes 第八章 Pod 控制器
    Kubernetes 第七章 Configure Liveness and Readiness Probes
    Kubernetes 第六章 pod 资源对象
    Kubernetes 第五章 YAML
    Kubernetes 核心组件
    Kubernetes 架构原理
    Kubernetes 第四章 kubectl
    Kubernetes 第三章 kubeadm
    yum 配置及yum 源配置
  • 原文地址:https://www.cnblogs.com/cuiyf/p/6894821.html
Copyright © 2011-2022 走看看