
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 · 1321 阅读 · 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 · 3140 阅读 · 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 · 7504 阅读 · 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 · 1379 阅读 · 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 · 657 阅读 · 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 · 463 阅读 · 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 · 178 阅读 · 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 · 788 阅读 · 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 · 714 阅读 · 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 · 5596 阅读 · 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 · 9787 阅读 · 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 · 2245 阅读 · 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 · 225 阅读 · 0 评论 -
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 · 2770 阅读 · 2 评论 -
maven导入依赖pom文件不报错依赖报错的解决办法
1、删除仓库依赖包重新下载;2、如果还是不行用最笨的办法,将jar包放到项目的WEB-INF的lib下,然后通过pom文件引入lib下的jar包即可解决,这里需要注意的是,如果引入多个jar包,groupId需要区分开。...原创 2020-08-05 18:29:42 · 2075 阅读 · 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 · 15550 阅读 · 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 · 641 阅读 · 0 评论 -
java.sql.SQLException: 流已被关闭
mybatis查询Oracle数据库的long字段数据报流已关闭:采用resultMap来进行映射,long字段的jdbcType写成上述红圈中的值,主要注意的是,字段放到最后,SQL的查询字段也要放在最后,实体类对应的字段是String即可。...原创 2020-06-09 12:14:24 · 1116 阅读 · 1 评论 -
string的两道经典面试题:如何反转字符串及如何判断某个字符在字符串中出现的次数
1.如何反转字符串?不通过StringBuilder的reverse方法,而是利用java的栈: /** * 如何反转一个字符串?不通过reserve方法。 * 思路:利用数据结构的栈(stack),因为栈的特点就是先入后出,先把每个字符按顺序入栈,再依次出栈,可实现反转。 */ /** * 需要反转的...原创 2020-04-22 11:26:59 · 335 阅读 · 0 评论 -
lambda 表达式的基本语法及注意事项代码例子
/** * lambda表达式语法的介绍 */ /** * 基本语法解释 * * [接口声明] = (参数) -> { 执行代码块 }; * * 1,声明 :就是和Lambda表达式绑定的接口类型 * * 2....原创 2020-04-09 15:22:03 · 201 阅读 · 0 评论 -
java1.8中的常见的函数式接口
什么是函数式接口? 就是java类型系统的接口,只包含一个接口的特殊接口,语义化检测的注解:@FunctionalInterface。 java1.8的新增的static方法和default方法不影响函数式接口的声明,需要注意的是,java的所有的对象都继承自object,也就是意味着函数式接口中重写tostring方法也不影响函数式接口的声明。与lambda表达式的关系:...原创 2020-04-06 16:25:23 · 497 阅读 · 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 · 6904 阅读 · 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 · 1470 阅读 · 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 · 7593 阅读 · 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 · 2117 阅读 · 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 · 966 阅读 · 0 评论 -
java 各集合的底层原理实现
参考链接,很详细转载 2018-07-26 14:13:01 · 3580 阅读 · 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 · 1015 阅读 · 2 评论 -
java中的关键字总结
参考链接,写的不错转载 2018-07-27 15:19:34 · 139 阅读 · 0 评论 -
java中的单例模式
参考链接转载 2018-07-27 15:44:14 · 142 阅读 · 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 · 939 阅读 · 0 评论 -
java的静态方法和普通方法的区别
参考链接转载 2018-08-08 10:33:25 · 21248 阅读 · 1 评论 -
java实现两个数组合并到一个数组中,采用复制数组的方法
public class array { public static void main(String[] args) { //声明数组1 String[] str1 = new String[]{"1","2"}; //声明数组2 String[] str2 = new String[]{"3","4"}; ...原创 2018-08-17 22:05:43 · 17728 阅读 · 0 评论 -
java反射的基本使用
参考链接转载 2018-10-08 16:59:07 · 180 阅读 · 0 评论 -
java多线程sleep、wait、yield方法区别总结
sleep()方法sleep()的作用是在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)。这个“正在执行的线程”是指this.currentThread()返回的线程。sleep方法有两个重载版本:sleep(long millis) //参数为毫秒sleep(long millis,int nanoseconds) //第一参数为毫秒,第二个参数为纳秒sl...原创 2019-02-14 11:07:59 · 2345 阅读 · 0 评论 -
根据两个日期获得日期范围内所有日期集合
参考链接转载 2019-03-06 17:13:09 · 785 阅读 · 0 评论