接口多实现类的动态调用 一个接口在不同场景,需要有不同的实现类,实现动态调用定义接口,创建接口实现类定义支付方式接口/** * 支付方式接口*/public interface PaymentService { /** * 扫码支付 * * @param transaction * @return * @throws Exception */ PublicResult tradePreCreate(Transaction transact
通过HttpURLConnection连接上传文件和参数并接收 网上使用HttpURLConnection通过get或post请求传递参数或者传递文件的例子有很多。但是同时传递参数和文件,服务的并接收参数和文件的例子很少!此文将介绍同时发送参数和文件并接收。1.HttpURLConnection简介任何网络连接都需要经过socket才能连接,HttpURLConnection不需要设置socket,所以,HttpURLConnection并不是底层的连接,而是在底层连接上的一个请求。这就是为什么HttpURLConneciton只是一个抽象类,自身不能被实例化的原因
常见的SQL优化方式 1、在表中建立索引,优先考虑where、group by使用到的字段。2、尽量避免使用select *,返回无用的字段会降低查询效率。如下:SELECT * FROM t优化方式:使用具体的字段代替*,只返回使用到的字段。3、尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描。如下:SELECT * FROM t WHERE id IN (2,3)SELECT * FROM t1 WHERE username IN (SELECT username FROM t2)优化方式
Spring Data JPA入门学习 什么是JPAJPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopLink,JDO...
oracle 一个字段存多个ID(或其他字段值)(以逗号","分割),并用该字段与其他表的ID(或其他字段值)关联查询方法 方法一表T_PE_CSXM表STD_PE_XMDL期中表T_PE_CSXM中XMDL中的值为STD_PE_XMDL中CODE。如果想得到如下图所示结果:sql代码可用:SELECT X.XM_ID, X.XMMC, X.XMDL,(SELECT wm_concat(L.NAME)FROM STD_PE_XMDL L WHERE INSTR(X.XMDL,CODE) > 0) ...
File类型转MultipartFile类型 multipartfile是spring定义的一个接口,file是无法转换为multipartfile的。但是可以自己实现一个multipartfile具体类,在这个类中将file封装。此处截取一个multipartfile接口的实现类CommonsMultipartFile的部分代码及构造方法片段所以我们可用通过创建CommonsMultipartFile对象来转MultipartFil...
JAVA导出zip文件及读取zip文件 多文件压缩zip导出到浏览器页面在多个文件导出的时候,我们常常会将多文件压缩之后导出zip文件到页面。下面直接上代码。 @ApiOperation(value = "导出模板文件") @GetMapping("exportTemplate") public void exportTemplate(HttpServletRequest request, HttpServletRespo...
oracle分析函数-开窗函数 oracle分析函数分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。分析函数和聚合函数的不同之处是什么?普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值。分析函数-开窗函数的...
EasyPoi导出excel(2) 此文档主要解决自动列宽及样式设置,比上篇导出更优化;直接上代码。接口调用:public void exportXsStTj(HttpServletRequest request, HttpServletResponse response) throws IOException { try { List<Map<String, Object>> list...
ORACLE列转行函数总结 LISTAGG WITHIN GROUP( ORDER BY )、wm_concat、sys_connect_by_path 1. LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)基础用法:LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX),就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来;LISTAGG()其实可以把它当作SUM()函数来使用或者理解。示例代码:查询部门为20的员工列表:SELECT ...
Date、LocalDate、LocalDateTime之间的转换和计算 // 01. java.util.Date --> java.time.LocalDateTimepublic void date2LocalDateTime() { Date date = new Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); ...
java8 LocalDate、LocalTime、LocalDateTime和Date对比 一.LocalDate、LocalTime、LocalDateTime介绍LocalDate、LocalTime、LocalDateTime是java8对日期、时间提供的新接口。实际使用中,计算日期就用LocalDate,计算日期加时刻用LocalDateTime,如果只有时刻就是LocalTime1获取当前时间的对象LocalDateTime localDateTime = Local...
线程池ExecutorService中submit和execute区别 1、execute是接口Executor的方法 ,submit是Executor子接口ExecutorService的方法(ExecutorService接口继承了Executor接口,Executor是线程池的顶级接口)。2、接收参数不同。void execute(Runnable command);Future<T> submit(Callable<T> tas...
线程池的创建和使用 几种线程池的创建和使用newFixedThreadPool固定线程池示例:ExecutorService fixedThreadPool = Executors.newFixedThreadPool(4);源码/** * Creates a thread pool that reuses a fixed number of threads * operating o...
VUE项目如何使用WebSocket 前端vue-WebSocket连接export default { components: { }, data() { return { websockLink: '' } }, watch: { websockLink(val) { if (val) { this.initWebSocket() }...
JAVA中模板导出excel之JXLS Java中实现excel根据模板导出数据的方法有很多,一般简单的可以通过操作POI进行。还可以使用一些工具很轻松的实现模板导出。这些工具现在还在维护,而且做得比较好的国内的有easyPOI,国外的就是这个JXLS了。个人觉得easyPOI做动态列导出(不固定列)比较好;JXLS做固定模板导出比较方便。1. 首先加入JXLS依赖包。<dependency> <gro...