java
renijngkai
这个作者很懒,什么都没留下…
展开
-
Oracle手动分页工具类记录
/** * 组装分页SQL的方法 * @param sqlsss 具体的业务SQL * @param page 第几页 * @param rows 多少行 * @return */ public String getPageSql(String sqlsss,Integer page,Integer rows){ String sql = "select * from (select rownum as rn, t.* .原创 2022-03-24 15:03:37 · 1298 阅读 · 0 评论 -
Java获取音视频文件的时长
1、maven配置<!-- mp3文件支持(如语音时长)--> <dependency> <groupId>org</groupId> <artifactId>jaudiotagger</artifactId> <version>2.0.1</version> </dependency> <!-- mp4文件支持(如语音时长)--> <d原创 2022-03-16 17:39:41 · 3000 阅读 · 1 评论 -
Easyexcel导出带下拉框选项excel模板(解决下拉框超50个的问题)
1、为了避免excel下拉框选项过多会导致内容不显示(或者生成的时候报错:String literals in formulas can't be bigger than 255 characters ASCII easyexcel),将下拉框的内容都存储在另一个新建的固定的sheet页,再通过引用公式关联单元格的下拉框内容,从而形成能够存储多数值的下拉框。2、导出代码(这里演示的是一次性导出多个模板,采用压缩包的形式下载,并且表头是动态的):/** * 导出模板 * @par原创 2022-03-12 18:38:41 · 6868 阅读 · 1 评论 -
Java项目web页面上加水印效果
1、新建js文件:function watermark(settings) { //默认设置 var defaultSettings = { watermark_txt: "text", watermark_x: 20, //水印起始位置x轴坐标 watermark_y: 20, //水印起始位置Y轴坐标 watermark_rows: 20, //水印行数 watermark_cols: 20, //水印原创 2021-11-12 11:16:58 · 1315 阅读 · 1 评论 -
Mysql 数据库自动备份
Mysql备份步骤:用Navicat打开zfgf数据库,点击上方的自动运行模块:然后点击新建批处理作业:然后点击上边的保存按钮,设置一个任务名称:点击确定后,双击可用的工作,使得该任务跑到已选择的工作中点击设置计划任务,也得注意名是不是刚刚设置的任务名称:点击右边的触发器,设置好执行频率,我这是每天执行一次,设置到每天晚上十一点57分,代表着每天晚上的23点会执行下备份任务:设置好了之后,点击确定按钮,代表该任务就设置完成了,此时点击自动运行,会显...原创 2021-11-04 17:14:36 · 7795 阅读 · 1 评论 -
JAVA生成标准的Word文件(非xml格式的Word文件)
之前使用freemarker导出word,可以在PC上打开,其实也是个xml类型的,转PDF都会成为xml。但是它不能在手机上打开,因为它是xml格式的。所以后来又修改了导出方式,导出标准格式的word.1、新建Word文件,建议直接把需要替换的值就直接写上,作为需要生成文件的模板。2、然后把后缀名.docx改为.zip,直接就变成了个压缩包,具体的目录如下:3、因为在改为压缩包前就已经把需要替换的值给写好了,在压缩包的word文件夹里有个document.xml,该文件就是模板文件..原创 2021-10-27 15:07:16 · 623 阅读 · 2 评论 -
Java 结合itext生成PDF
1、思路:先通过模板生成HTML文件 --> 再把HTML文件生成PDF2、pom.xml,增加itext 和 freemaker 的依赖<dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId>flying-saucer-pdf-itext5</artifactId> <version>9.1.6</version> &原创 2021-06-01 18:13:45 · 435 阅读 · 0 评论 -
Spring Boot打成war包部署到外部的Tomcat
1、将打包方式改成war,在pom.xml文件中 <packaging>war</packaging>2、移除tomcat依赖或者将tomcat依赖scope改为provide移除tomcat依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web&...原创 2021-05-25 15:19:59 · 171 阅读 · 0 评论 -
java将office文件转化为PDF(含PPT、Excel、word)
java将office转换为的思路:借助第三方的插件;1、项目中先引入jar包:解释一下:aspose-cells.jar是用来Excel的转换的,aspose-slides.jar是用来PPT转换的,aspose-word是用来word转换的,license.xml是用来去水印的,这里暂时只有word去水印的。2、新建一个转换的工具类:基本不用改,复制就能用。public class YdUtils { //校验license private static bool原创 2021-05-13 15:55:59 · 748 阅读 · 0 评论 -
java 处理 Oracle in 超过1000条 报错的解决方法
/** * 目的就是为了处理Oracle in 超过1000条报错的问题 renjingkai * @param ids * @param count * @return */ private String getOracleSQLIn(List<?> ids, int count) { count = Math.min(count, 1000); int len = ids.size(); .原创 2021-04-28 10:21:48 · 675 阅读 · 0 评论 -
POI 简单读取Excel中的某一列数据
1、/** * 获取到Excel里所有的编号 */List<String> list = new ArrayList<>();// 将文件流传过来,变成workbook对象。XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream());// 获得文本的sheetXSSFSheet sheet = workbook.getSheetAt(0);// 获得sheet里所有的行数int physica原创 2021-04-08 15:11:17 · 5462 阅读 · 1 评论 -
java 将 json格式的数据 转成实体类对象
思路:采用gson;找出一个json格式的数据: {bh:'A112',sjzmc:'fe',sjzjs:'js',sjzxqdz:'dz'},前提是key的名称要和实体类对象中的属性一致。具体用法: //1、创建Gson对象 Gson gson = new Gson(); User user = new User(1, "测试", "123456", "1212.com"); //2、调用toJson(Object)将对象转为字符串 String json =原创 2021-03-25 17:14:03 · 9711 阅读 · 0 评论 -
easypoi导出excel 带下拉框
1、声明Excel下拉框的工具类/** * firstRow 開始行號 根据此项目,默认为2(下标0开始) * lastRow 根据此项目,默认为最大65535 * firstCol 区域中第一个单元格的列号 (下标0开始) * lastCol 区域中最后一个单元格的列号 * strings 下拉内容 * */ public static void selectList(Workbook workbook, int firstCol原创 2021-03-25 17:10:29 · 2203 阅读 · 0 评论 -
springMVC结合ajax做跨域操作(支持springmvc低版本)
1、前端ajax写法,解释:CK方法就是通过ajax进行跨域访问,通过jsonp的形式。注意,callback方法不能丢,返回的值都在callback方法里处理。function ck(){ $.ajax({ url:'http://127.0.0.1:8080/rhzf/indexController.do?getXf', type:'get', dataType:'jsonp', async:true, jsonp:'callback', ca原创 2021-02-25 17:28:52 · 206 阅读 · 0 评论 -
Oracle 生成数据设计文档
package com.khjy.test;import com.lowagie.text.*;import com.lowagie.text.rtf.RtfWriter2;import java.awt.*;import java.io.FileOutputStream;import java.sql.*;import java.util.*;import java.util.List;public class GenerateTableDoc { //键类型字典 .原创 2021-01-12 15:22:09 · 373 阅读 · 1 评论 -
java 实现文件下载功能(浏览器提示保存位置)
@RequestMapping(params = "down") public void down(HttpServletResponse response,@RequestParam("file") String file) { try { String filePath = "E:\\saveWenJian\\"+file; InputStream is = new FileInputStream(filePath); response.reset(); // 必要地清除res.原创 2020-12-26 22:26:42 · 2715 阅读 · 2 评论 -
maven导入依赖pom文件不报错依赖报错的解决办法
1、删除仓库依赖包重新下载;2、如果还是不行用最笨的办法,将jar包放到项目的WEB-INF的lib下,然后通过pom文件引入lib下的jar包即可解决,这里需要注意的是,如果引入多个jar包,groupId需要区分开。...原创 2020-08-05 18:29:42 · 2033 阅读 · 0 评论 -
java 给list中的每个元素都加上单引号并用逗号隔开
1.用java1.8中的stream:List<String> list = new ArrayList<>();list.add("110");list.add("120");String ids = list.stream().map(s -> "\'" + s + "\'").collect(Collectors.joining(", "));System.out.println(ids);输出结果:'110','120'...原创 2020-07-01 12:58:50 · 15258 阅读 · 0 评论 -
Search attributes not supported by this store type: net.sf.ehcache.store.disk.DiskStore
ehcache关于做属性查询的时候启动报错:先解析一下报错原因,根据报错信息基本可以排查出是查询属性不支持磁盘。ehcache本身是不支持从磁盘缓存属性查找。所以,查看配置<cache name="jzspCache" maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="false"> &.原创 2020-06-17 11:15:23 · 617 阅读 · 0 评论 -
java.sql.SQLException: 流已被关闭
mybatis查询Oracle数据库的long字段数据报流已关闭:采用resultMap来进行映射,long字段的jdbcType写成上述红圈中的值,主要注意的是,字段放到最后,SQL的查询字段也要放在最后,实体类对应的字段是String即可。...原创 2020-06-09 12:14:24 · 1095 阅读 · 1 评论 -
string的两道经典面试题:如何反转字符串及如何判断某个字符在字符串中出现的次数
1.如何反转字符串?不通过StringBuilder的reverse方法,而是利用java的栈: /** * 如何反转一个字符串?不通过reserve方法。 * 思路:利用数据结构的栈(stack),因为栈的特点就是先入后出,先把每个字符按顺序入栈,再依次出栈,可实现反转。 */ /** * 需要反转的...原创 2020-04-22 11:26:59 · 322 阅读 · 0 评论 -
lambda 表达式的基本语法及注意事项代码例子
/** * lambda表达式语法的介绍 */ /** * 基本语法解释 * * [接口声明] = (参数) -> { 执行代码块 }; * * 1,声明 :就是和Lambda表达式绑定的接口类型 * * 2....原创 2020-04-09 15:22:03 · 194 阅读 · 0 评论 -
java1.8中的常见的函数式接口
什么是函数式接口? 就是java类型系统的接口,只包含一个接口的特殊接口,语义化检测的注解:@FunctionalInterface。 java1.8的新增的static方法和default方法不影响函数式接口的声明,需要注意的是,java的所有的对象都继承自object,也就是意味着函数式接口中重写tostring方法也不影响函数式接口的声明。与lambda表达式的关系:...原创 2020-04-06 16:25:23 · 475 阅读 · 0 评论 -
layUI数据表格做查询搜索
layUI的搜索查询功能很强大,看代码:1.定义查询栏 <div class="layui-inline"> <label class="layui-form-label">开始时间</label> <div class="layui-input-inline"> ...原创 2020-03-22 16:40:51 · 6837 阅读 · 0 评论 -
layUI和springboot+mybatis-plus做数据表格分页
1.表格设置开启分页(更多的参数参考layUI文档:https://www.layui.com/doc/modules/table.html) table.render({ elem: '#demo', toolbar:'#toolbarDemo', //添加头部工具栏,工具栏的定义在script模块中 /* e...原创 2020-03-22 16:35:07 · 1446 阅读 · 4 评论 -
ajax传对象参数到后台并接收对象参数
1.附上实体类@Getter@Setterpublic class User { private Long id; private String name; private Integer age; private String email;}2.前台代码(这里相当于把对象变成了json传到了后台) var user = { ...原创 2020-02-20 16:47:56 · 7524 阅读 · 2 评论 -
java导出带图片的Word文档(freemarker)带图片
1.首先新建一个带图片的doc2.另存为xml格式(具体看上一篇)3.把生成的xml文件进行修改4.修改后缀为ftl,作为模板文件使用,放到指定位置(我放到了电脑的D盘template文件夹中)5.后台填充数据Map<String, Object> data = new HashMap<String, Object>(); //声明map...原创 2020-02-19 16:09:56 · 2071 阅读 · 5 评论 -
java导出Word文档(freemarker)超简单
1.先找出将要生成的Word文档模板(也是一份Word文档,只不过里边写了占位符)。2.将模板文件另存为xml文件,转为xml之后并把后缀名改为ftl。3.项目中引入freemarker依赖包。4.声明map用于存放数据,这里map的key对应模板文件里的${key}.5.声明Word文档的导出公共类。public class WordUtil { public s...原创 2019-12-16 17:36:40 · 932 阅读 · 0 评论 -
java 各集合的底层原理实现
参考链接,很详细转载 2018-07-26 14:13:01 · 3565 阅读 · 0 评论 -
Maven的继承
概述在javaweb高速发展的今天,我们软件设计人员往往会用很多种方式对软件划分模块,目的就是为了能有清晰的设计和低耦合性的,高重用性的软件。Maven有很好的依赖管理系统(Dependency Management System)和项目生命周期的管理(Project Leftcycle),而其中的依赖管理是本文阐述和做出实例的重点。 实例背景 利用一个教程的上面的例子...原创 2018-07-19 16:52:09 · 288 阅读 · 0 评论 -
SpringBoot结合Spring-Data-Jpa操作数据库的步骤
1.在项目的pom.xml文件中加入相关依赖:2.在springboot的yml文件中进行配置:注:ddl-auto后可写五个属性,具体作用百度3.编写实体类进行自动生成数据库表:4.运行spring boot程序,发现表已经生成5.编写jpa的接口:6....原创 2018-07-18 23:12:26 · 989 阅读 · 2 评论 -
SpringBoot 不同环境读取不同的配置信息文件
1. 3个配置文件(更多环境可以建多个): application.properties (公共配置文件) application-dev.properties (开发环境) application-prod.properties (生产环境)2. 设置 application.properties , 如使用开发环境用以下代码,deployment时只要把 dev 改...原创 2018-07-18 15:51:06 · 819 阅读 · 0 评论 -
Java多线程中的wait(),notify()和sleep()
wait()和sleep()我们先简单的了解一下wait()和sleep()这两个方法:首先wait()是属于Object类的方法,从源码给出的解释来看,wait()方法可以做到如下几点:(1)首先,调用了wait()之后会引起当前线程处于等待状状态。(2)其次,每个线程必须持有该对象的monitor。如果在当前线程中调用wait()方法之后,该线程就会释放monitor的持有对象并让自己处于等待...原创 2018-07-12 15:26:29 · 8650 阅读 · 1 评论 -
java多线程中的yield方法
Thread.yield()方法作用是:暂停当前正在执行的线程对象(及放弃当前拥有的cup资源),并执行其他线程。yield()做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。 结论:yie...原创 2018-07-12 15:17:59 · 5434 阅读 · 3 评论 -
java多线程 线程同步与死锁
1.线程同步多线程引发的安全问题一个非常经典的案例,银行取钱的问题。假如你有一张银行卡,里面有5000块钱,然后你去银行取款2000块钱。正在你取钱的时候,取款机正要从你的5000余额中减去2000的时候,你的老婆正巧也在用银行卡对应的存折取钱,由于取款机还没有把你的2000块钱扣除,银行查到存折里的余额还剩5000块钱,准备减去2000。这时,有趣的事情发生了,你和你的老婆从同一个账户共取走了4...原创 2018-07-12 15:06:21 · 221 阅读 · 0 评论 -
java中的关键字总结
参考链接,写的不错转载 2018-07-27 15:19:34 · 132 阅读 · 0 评论 -
java中的单例模式
参考链接转载 2018-07-27 15:44:14 · 136 阅读 · 0 评论 -
java 通过HTTPclient进行通信
package org.zzw.xxcj;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.Na...原创 2018-08-07 14:28:34 · 848 阅读 · 0 评论 -
java httpclient 请求时 Invalid use of SingleClientConnManager: connection still allocated. Make sure
错误原因:你的程序打开至少两个连接,而第一次连接后没有关闭post或者get解决办法:注释的部分就是解决办法 http1 = "http://localhost:8081/sawp/SakAction.do?doMethod=getSortedList1"; httpPost = new HttpPost(http1); response = clien...原创 2018-08-07 15:14:37 · 914 阅读 · 0 评论 -
java的静态方法和普通方法的区别
参考链接转载 2018-08-08 10:33:25 · 21217 阅读 · 1 评论