sum(sale) over(partition by product_line order by week rows between unbounded preceding and (current row)/(unbounded following)) sale列的动态求和
lag/lead(sale,n,sale) over(partition by product_line order by week) 访问结果前/后n列
first_value/last_value(sale)、nth_value(sale) over(partition by product_line order by sale rows between unbounded preceding and unbounded following)
rank/dense_rank() over(partition by product_line order by week) 排名
ratio_to_report(age) over(partition by name) 所占比例函数
percent_rank() over(partition by product_line order by week) (排名-1)/(行数-1)
row_number() over(partition by product_line order by week)
ntile(N) over(partition by product_line order by week) 数据分桶
listagg(string,separator) within group(order-by clause) over(partition-by-clause) 链接列/wn_concat
Connet by
SYS_CONNECT_BY_PATH(path,";") 返回当前数据行的所有祖先
CONNECT_BY_ROOT 字段 返回根数据行的值
PRIOR 字段 用来表明层级型查询,在递归子查询中不需要
CONNECT_BY_ISCYCLE 在层级中检测循环
CONNECT_BY_ISLEAF 标识叶子数据行
LEVEL 表明层级中的深度
校验接口:ValidationAware(DefaultWorkflowInterceptor)hasErrors()确定是否包含错误
LocaleProvider(国际化接口)
fileUploadInterceptor(文件字段名+ContentType(文件类型),文件字段名+FileName(文件名))
servlet-config拦截器
ServletContextAware
ServletRequestAware
ServletResponseAware
ParameterAware
RequestAware
SessionAware
ApplicationAware
PrincipalAware
workflow拦截器(参数:alwaysInvokeValidate(validate方法是否调用)、inputResultName、excludeMethods)
在默认拦截器加参数
<interceptor-ref name="defaultStack">
<param name="workflow.excludeMethods">doSomething</param>
</interceptor-ref>
prepare拦截器(默认)
实现Preparable接口prepare方法(此方法必须实现)
预处理方法一:parepare+业务方法名 预处理方法二:parepareDo+业务方法名
注意:预处理方法只能执行一个,预处理方法一的优先级大于二
OGNL LIST(不要初始化List)
ClassName-conversion.properties
Element_(List类型属性的名称)=元素类型
Map
Key_(map类型属性的名称)=元素类型
Element_(map类型属性的名称)=元素类型
Iterator标签提供的属性:getCount、getIndex、isEven、isFirst、isLast、isOdd、modules(int operand)
访问List:list[0]、list[0].name、list.size、list.isEmpty
访问array:array[0]、array.length
Spring MVC
@PathVariable绑定时指定绑定的参数名(java类反射对象未包含方法的入参的名称)(可打开debug开关解决但会使目标类变大)
处理方法入参最多只能使用一个Spring MVC的注解,使用两个注解抛出异常
Model接口存储模型数据(类似于Map),ModelMap实现了Map接口,ExtendedModleMap实现了这两个接口,包含@ModelAttribute注解的键值对
在类上标明@SessionAttributes("user")会自动将本处理器中的任何处理方法属性名为user的模型属性透明的存储到HttpSession中
返回字符串"forward:"、"redirect:"
SessionStatus(方法参数).setComplete()清除该控制器类的所有会话属性
Validator类的方法:bolean supports(Class<?> clazz)校验类型、void validate(Object target,Errors errors)对目标类进行校验、标记错误记录在errors中
LocalValidatorFactoryBean实现了该接口和JSR 303,<mvc:annotation-driven/>会自动装配LocalValidatorFactoryBean
@Valid 紧接着必须接一个Errors或者BindingResult(Errors的子接口) 可通过DataBinder.getBindingResult()获取BindingResult
用<form:errors path="*/field" 显示(*代表所有)
输出JSON使用MappingJacksonJsonView 默认将模型中所有输出为JSON,可通过rendereAttributes指定模型哪些属性要输出