java
无敌嗨猫
要么庸俗,要么孤独。
展开
-
【Java + itextpdf】实现Java生成pdf文件(以ByteArrayOutputStream形式传输)
前段时间猫哥实现了用Java生成Excel文件,并以ByteArrayOutputStream的形式传输至JavaMail附件中。在这里再整理一下生成pdf文件并同样以ByteArrayOutputStream的形式传输至JavaMail附件中的方法。其中,最主要的重点就是:pdf中的字体格式(由于itext对中文支持较差,而若直接采用itext自带的字体会导致最终打印内容为空白,因此需要自己下载中文字体添加到项目resources中并引用,项目中猫哥用了自己下的simhei.ttf(黑体)) p原创 2020-09-01 19:41:22 · 8581 阅读 · 0 评论 -
【Java】项目路径引用问题(包括:eclipse、idea项目路径 + 打成jar包后的引用问题)
最近猫哥由于项目需求要在代码中引用新导入项目的文件,查了部分资料,这里把java项目的相对路径做一个总结记录。主要是 “ ./ ” 的含义。eclipse中的相对路径是相对项目的src目录来说的,而不是相对于当前文件。 "./xxx.txt" idea的相对路径是相对于项目的根目录。 "./src/xxx.txt"...原创 2020-09-01 19:16:12 · 970 阅读 · 0 评论 -
【javaMail】java创建Excel表不生成本地xls文件,直接通过ByteArrayOutputStream存入javamail邮件附件后发送至相应邮箱
前段时间猫哥遇到一个需求,通过java生成Excel后,利用javamail附件形式发送给相应邮箱。查阅大量资料后发现,大部分的解决方案都是生成本地xls文件,再通过文件名和文件地址传给javamail的附件内。很明显,这样的解决方案不合理,会占用服务器大量的存储空间和IO,最理想的方法是不生成本地xls文件,直接通过流的形式传给javamail附件。摸索了一阵后,猫哥找到了解决方案,在这里记录一下。大致的思路就是:利用ByteArrayOutputStream直接将excel文件传入邮件附件。原创 2020-08-19 17:02:58 · 1170 阅读 · 0 评论 -
【Java+Linux】Java登录Linux服务器执行linux命令
应工作需求,猫哥需要实现java工程远程登录linux服务器,并执行相应的linux命令。自定义一个连接函数即可搞定。private static String exeCommand(String host, int port, String user, String password, String command) throws JSchException, IOException { JSch jsch = new JSch(); Session session = jsch原创 2020-08-19 16:28:47 · 906 阅读 · 0 评论 -
【Spring Boot】使用Devtools实现热部署,避开IDEA的坑
这里总结了Spring Boot使用Devtools热部署的方法。一、工程配置Pom文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency> appl原创 2020-05-12 20:13:48 · 300 阅读 · 0 评论 -
【Spring Boot】后端分页
分页是大数据查询必不可少的环节,为提升系统响应速度,提高用户体验,几乎所有的分页都是后端完成。除了使用,pageHelper插件,这里猫哥总结一下自己是如何实现后端分页的,十分简单易懂。在实现java后端前,首先了解一下mysql的limit用法。SELECT*FROMtableLIMIT[offset,]rows|rowsOFFSEToffsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如...原创 2020-05-12 16:58:32 · 1385 阅读 · 0 评论 -
【redis】RedisTemplate操作redis时,key值出现\xer\xnh\x00\x06t\x00前缀
最近猫哥开始在写java项目时接触使用redis,碰到的问题打算记录一下。其中一个就是在使用RedisTemplate操作redis时,key值会出现类似\xer\xnh\x00\x06t\x00前缀。查阅相关资料发现了原因:RedisTemplate默认序列化方式用的是JdkSerializationRedisSerializer,此时将key序列化方式改成StringRedisSerializer,将value序列化方式改为Jackson2JsonRedisSerializer即可。解决方法如下转载 2020-05-09 16:33:43 · 311 阅读 · 0 评论 -
【mybatis】中大于等于、小于等于的写法
由于经常要用到,记一笔。第一种写法(1):原符号 < <= > >= & ' "替换符号 < <= > >= & ' "例如:s...转载 2020-04-15 20:35:52 · 520 阅读 · 0 评论 -
【Java】Date修改时分钟秒毫秒
最近猫哥在负责某平台的前后端开发,需要将前端i-view日期选择器的时间存入后台数据库中,由于i-view时间选择器传的时间戳包含时分秒毫秒,而后台对时分秒毫秒的需求不高只需要日期即可,因此,猫哥整理了一下java后台处理Date类型的方法,可以根据自身需求在后端调整前端传入的Date参数。时分秒毫秒全部清零 Date time= new Date();SimpleDateFormat ...原创 2020-04-15 15:49:54 · 8007 阅读 · 0 评论 -
【Spring Boot】Ehcache2.x缓存实战总结
最近猫哥在研究SpringBoot缓存,在这里对SpringBoot的Ehcache2.x缓存做一个总结梳理,顺便贴一下自己写的实战代码,以供参考。SpringBoot缓存Spring3.1中开始对缓存提供支持,核心思路是对方法的缓存,当开发者调用一个方法时,将方法的参数和返回值作为key/value缓存起来,当再次调用该方法时,如果缓存中有数据,就直接从缓存中获取,否则再去执行该方法。但...原创 2020-04-02 10:26:02 · 324 阅读 · 0 评论 -
【Spring Boot】个人对Serializable的理解
最近猫哥研究SpringBoot工程发现项目中经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,且这些bean都会实现Serializable接口,如:public class BookBean implements Serializable { private Integer id; private String name; private...原创 2020-04-02 10:51:41 · 4913 阅读 · 1 评论 -
判断一个字符串是否为空(null)或者是空字符串(“”)的方法总结
第一步:理解null和""的区别null表示这个字符串在栈中没有被实例化,没有任何指向,因此在堆中没有分配内存空间。如果要调用这个字符串的方法会出现空指针异常 `String str = null`。判断一个字符串是否是null 用 == 。 ""在堆中分配了内存空间。 判断一个对象是否是空“” 用eques()。如果我们使用"String str = new String()",这时的s...转载 2020-03-02 09:29:15 · 14937 阅读 · 0 评论