- 博客(27)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 实现新建excel或者直接读取项目中某个excel文件进行写入操作
上一篇讲的是写一个带有标题头的excel文件,其实是为本篇文章打下基础,这次要说的是先读取某个路径下的excel文件,如果为空,则直接创建一个,直接写入,不为空,先删除掉原有数据,再进行写入public void writeExcel(List dataList, String personid) throws UnsupportedEncodingException {OutputStream out = null;//通过类加载器获取resource资源的路径,由于获取到的只能是classes文件
2020-05-09 11:05:49
251
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 如何通过java创建一个空白的表格在项目中
这里的filename是目录的名称,XSSFWorkbook对应的是2007版本的,也可以将其换成2003版本HSSFWorkbook。具体流程是首先创建一个excel对象,然后可以创建sheet,创建row以及cell,其中也可以设置颜色,样式等信息,最后通过new 文件输出流,将其输出到传入的目录下/**创建空白的excel文件@param filename@throws IOException*/public static void CreateBlankExcel(Stri
2020-05-09 10:56:20
1351
原创 解决用了线程池发现线程还是串行的,并没有并行运行的问题
小编前几天用了定长线程池,然后单线程实现的是runnerable接口,但是执行的时候发现线程是按照顺序执行的,也就是没有达到多线程的目的,解决的办法是将执行时候调用的submit方法换成了execute方法,最终所有的线程实现了并行的结果...
2021-10-15 16:57:11
1005
3
原创 邮件发送功能(可发送富文本和附件)
备注:用UrlResource可以直接将附件链接放到邮件里面,不用先下载private final static String host = "****"; // smtp服务器private final static String from = "******"; // smtp服务器private final static String username = "*****"; // 邮箱名称private final static String pwd = "*****"; // 邮箱密码/
2021-07-19 14:22:04
1373
原创 自定义注解(自定义操作数据添加日志操作记录注解举例)
概要:编写自定义注解需要两个步骤,第一个是添加自定义注解,以及里面需要的一些属性,第二是利用aop的特性,切点和相应的注解相关联,同时对切点进行方法增强,具体实现以添加日志自定义注解为例1.编写相应的自定义注解类package cn.zjdyit.jsgl.engineering.common.plugins.logging.annotation;import cn.zjdyit.jsgl.engineering.common.plugins.logging.enums.Business...
2021-04-09 15:42:26
323
原创 解决文字转语音或者语音播报代码只能在windows服务器运行问题
上篇写到了如何实现文字转语音功能,这篇主要讲为什么要上篇要那样去部署项目。 因为文字转语音必须有dll文件才能运行,而这个文件只能是windows的环境,所以实现思路就是在linux服务器部署自己的项目,然后在windows服务器部署文字转语音的服务,linux代码利用http接口请求另外一个服务,传递文字参数,然后windows服务器代码将其保存,然后将保存后的路径传给linux服务器,这样就直接通过windows服务器的地址访问音频文件即可,就可以解决这个问题了...
2020-12-24 16:34:54
392
1
原创 文字转语音或语音播报功能
1.实现过程通过前端传过来的一段文字,将其转成一段音频文件上传到服务器,然后将这个音频文件的路径传给前端,前端进行播放就可以实现该功能2.第三方依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <dependency> <groupId>com.hynnet</groupId> <artifact
2020-12-24 16:29:01
1295
1
原创 mysql数据库表设计注意的问题
本人最近做了一个手机app和pc端同时开发的项目,深感表结构设计的重要性,表设计的好,可以少些很多sql和代码,甚至可以少些很多复杂的sql,因此设计好表真的很重要,一下想法都是从个人角度出发,只做参考一.表结构设计:1.数据库表必备字段:创建人,创建时间,修改时间,修改人,逻辑删除,版本号,这几个字段一定要有,用不着那可以不用,但是一定要有,尤其是版本号,看似无用,其实要改的时候很麻烦,建议都增加一个2.对于流程性比较强的业务,或者说是含有多种状态的任务,尽可能的分成主表个子表,每个流程的...
2020-12-22 14:57:25
475
原创 解决mysql对汉字排序有时候不起作用的情况
解决mysql对汉字排序有时候不起作用的情况问题:小编今天在生成图表信息的时候对人名字order by asc发现没用,于是查阅资料,找到了解决方法,只需要将原来的排序字段做个转换 (user_name ) 即为排序字段order by CONVERT(user_name USING gbk) asc,exceptionRate desc便可以解决问题解决前解决后...
2020-12-03 14:26:13
404
原创 org.springframework.dao.DataIntegrityViolationException: Error attempting to get column ‘areas‘ from
org.springframework.dao.DataIntegrityViolationException: Error attempting to get column ‘areas’ from result set的解决方法![在这里插入图片描述](https://img-blog.csdnimg.cn/20200918101709671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cH
2020-09-18 10:18:18
2330
原创 java调用手机麦克风录音以及保存音频文件到服务器
1.应用场景:手机app内录制不超过60秒的录音,进行保存,可以实现播放实现过程(1).前端调取手机麦克风,录制音频,转成base64文件传给后端(2).后端将前端传过来的base64文件进行解析,然后作为输出流,输出为wav或者mp3文件(3).小编是将文件上传至服务器,然后记录上传的地址+文件名,当前端需要访问时,直接将路径返回即可,前端可以利用组件直接播放下面是后台处理base64录音的全部代码 /** * 将base64音频文件保存到服务器 * @param base64Audi
2020-09-17 14:48:22
1668
5
原创 mysql如何格式化日期
因为小编以前都是用oracle数据库的,真心感觉oracle是比mysql用起来方便多的,近期有用到在mysql查询时有格式化日期,但是发现和oracle完全不一样,这里小编总结并对比一下常用的一些格式化方法mysql: date_format(date, '%Y-%m-%d') Y就表示某年(2014),y表示两位(20)m表示某月(08),d表示某天(31)或者 date_format(date, '%yy-%m-%d') oracle:to_date(date,'yyyy-MM-dd')和j
2020-09-11 15:34:57
1161
原创 图片上传功能
图片上传功能思路:常见的上传有通过接收base64和接收multipart两种格式的格式,我这边用的是前段将图片装成base64传给我,我用读流方式将其上传到服务器某个路劲下,然后当前端需要这个图片是,我直接给他路径就可以,具体代码如下/** * * @param path 保存路径 * @param fileName 文件名 * @param file 文件 * @param flag *///图片上传base64格式public void uploadImg(String path
2020-09-11 15:17:28
618
原创 基于redistempalte的消息的发布订阅模式
我这边的应用场景是接收对方定时推送的消息,首先得双方沟通好消息的渠道,比如的channeid就是roomcontrollerpackage com.jeesite.modules.common.web;import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.
2020-09-11 15:11:00
194
原创 jeesite的springboot+springcloud+微服务架构框架启动总结
对于没有用过该框架的童鞋来说,第一次启动这个框架的确很麻烦,小编自己起了好久没有起来,最后还是让别人帮助才成功,下面我就总结一份文档给大家。 代码地址:https://gitee.com/thinkgem/jeesite4-cloud 一.Jeesite微服务安装步骤 1. https://gitee.com/thinkgem/jeesite4-cloud下载代码,文件夹中有下载好的(thinkgem-jeesite4-cloud-v4.2_dev(1).zip) 2...
2020-08-03 10:29:08
878
4
原创 初做http请求方式的接口对接写法总结
小编这里主要说一下第一次和其他客户做http收发信息接口对接时遇到的问题一.get请求1.小编在这边遇到的问题比较少,唯一一个就是刚开始采用get请求时,请求过来的数据中文都是乱码的,经过排查发现,这边的get请求的公共方法没有限制请求后相应的编码格式,于是加了编码方式为utf-8就解决了二.post请求post请求遇到的问题可能比较多一点,1.确认对方的编码方式2.确认对方的参数接收方式,是直接接收String等类型,还是说接收json类型3.参数为空是传还是不传得确定好4.对面有没有设置
2020-07-23 15:01:58
1061
原创 如何用框架的jedispool而不是redistempalte实现其他服务器的消息订阅
首先我这边的应用场景是和别的商家做接口对接,他会用redis不断的推送一些消息过来,我这边进行接收并做相应的处理,其中用的就是redis的发布订阅模式。 由于小编这边是ssm框架,本事的配置文件使用的是jedis,所以我这边的做法是: 1.redis服务器的ip和端口配置在自己的redis配置文件中 2.编写订阅消息的类,通过实现JedisPubSub类,然后实现里面的方法 3.编写通过渠道进行redis的消息订阅,然后将其设置成项目启动就加载的状态 4.(c...
2020-07-23 14:40:38
99
原创 ssm框架如何实现某个类的项目启动就自动加载
很多同学在使用ssm框架中,可能会用到项目启动便要加载的一些类,由于不像springboot,有直接封装的注解便可实现,但是它也有自己的实现方式,具体如下:@Componentpublic class RedisCeshiController implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefreshe...
2020-07-23 14:27:41
1288
2
原创 oracle数据库用循环脚本插入测试数据
对于数据量比较大的系统来讲,很多小伙伴不知道数据库自身也是有循环脚本的,这个时候我们就可以充分的利用该脚本去进行数据插入,其中唯一键如urid可采用自增形式即可。示例如下declarea number(30) := 0;beginfor i in 1…5000 loopinsert into t_aaavalues(i,‘503500’,-100,sysdate,sysdate,to_date(‘2020/3/21’,‘yyyy-MM-dd’),‘server’,sysdate,‘server’
2020-06-05 09:03:30
1000
原创 如何创建线程池,并调用多线程
1.多线程的三种方式,实现runnable接口,继承thread类,实现callable接口,前面2个是没有返回值的,callable接口可以有返回值,所以个人角度觉得后者比较强大。但是注意点是在调用实现callable的构造方法时要用threadPoolExecutor.submit来执行,而前面的是用threadPoolExecutor.execute来执行 2.下面是一个线程池的应用场景——创建多个线程进行排序,此用例可直接拿去执行 3.线程池用完之后一定要记得关闭,否则会造成资源浪费...
2020-06-05 08:52:37
1340
原创 如何解决同一个方法内对同一张表同时删除和操作并发问题
前几天做了一个操作,就是前端发送请求,后台对同一张表先进行删除,然后再进行插入,然后前台会查询出这张表的数据,这个时候发现,前端点击操作按钮速度过快,会有数据丢失已经重复过多出现的情况,原因是前端请求太快时,后台正在删除数据,而另一个请求进来后已经开始插入数据,这样就会造成误删或者多插入的情况。解决办法有两种:第一,在前台页面设置每次请求的时间,不能短时间内重复发送请求//处理避免同时发送请求导致数据处理出错check.onclick = function aaa(){check.onclick =
2020-05-22 09:51:25
1556
原创 通过js的id获取内容并添加新的标签
对于jsp,页面已经封装好的类型,比如一个文本框,经常遇到要添加新的标签,这时候不知道怎么入手,其实很简单:1.给这个文本框添加id属性2.通过var res = document.getElementById(“reas-title”)获取信息3.res.innerHTML="申请原因*"获取标签内的内容,做出修改,并且添加新的标签...
2020-05-18 20:34:00
1814
原创 如何把数据库的yyyy-MM-dd类型转换成年月日类型
做过打印功能的一般都知道,数据库存的Date类型,在显示的时候一般要求都是要带汉字年月日的,比如2098-6-12转换为2098年6月12日String paydate=”2098-6-12“;SimpleDateFormat sd = new SimpleDateFormat(“yyyy-MM-dd”);SimpleDateFormat sd2 = new SimpleDateForma...
2020-04-26 09:20:59
4384
原创 多线程Executors类的入门介绍
首先,我这边使用的是jdk下面自带的Executors接口,可以通过package java.util.concurrent。该接口提供了一些创建线程池的方法,下面介绍几种常用的://int nThreads表示创建固定数量线程的线程池public static ExecutorService newFixedThreadPool(int nThreads);//根据返回值可以看出...
2020-03-06 09:56:42
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人