java
susie_小石头
这个作者很懒,什么都没留下…
展开
-
Collectors.toMap中的NullPointerException
value 为null则报空指针错误。使用filter过滤所有NULL值。的调用过程中并不是我们平常常用的。原创 2024-02-02 17:38:58 · 402 阅读 · 0 评论 -
redis数据类型及使用场景
当你需要存储一个列表数据,又不希望出现重复数据时,set 是一个很好的选择,并且 set 提供了判断某个成员是否在一个 set 集合内的重要接口,这个也是 list 所不能提供的。,使得集合中的元素能够按score 进行有序排列,还可以通过 score 的范围来获取元素的列表。比如在直播系统中,实时排行信息包含直播间在线用户列表,各种礼物排行榜,弹幕消息(可以理解为按消息维度的消息排行榜)等信息。,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。原创 2023-07-26 23:52:56 · 188 阅读 · 0 评论 -
时间戳、日期、秒转换
【代码】时间戳、日期、秒转换。原创 2023-06-05 14:47:47 · 143 阅读 · 0 评论 -
多个时间段取交集、并集
多个时间段取交集、并集。原创 2023-06-05 11:46:04 · 1087 阅读 · 0 评论 -
日志打印格式转换
【代码】日志打印格式转换。原创 2023-05-24 20:24:14 · 71 阅读 · 0 评论 -
postman设置不更新
目录写入权限控制,打开Postman目录右键文件夹属性,点击编辑,勾选写入拒绝,确定后更新文件就不能下载了。原创 2023-04-04 09:37:13 · 11404 阅读 · 0 评论 -
String、StringBuffer和StringBuilder区别
每次对存放进String当中的字符串进行更改的时候,都会生成一个新的String对象,然后指针指向该对象(虽然Java不承认自己有指针这回事),当没有引用指向对象过多的时候 ,GC就会对其进行清理,这个时候性能就会有所降低。这说明javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期再去进行加法运算处理,而是在编译时去掉其中的加号,直接将其编译成一个常量相连的结果。split():分割字符串,返回一个分割后的字符串数组。getBytes():返回字符串的 byte 类型数组。原创 2022-11-13 16:11:39 · 104 阅读 · 0 评论 -
mybatis-generator-core 自动生成使用
mybatis-generator-core 自动生成实体,mapper。使开发人员减少了很多工作量。MybatisGenerator.xml 放resource下面。原创 2022-09-22 11:05:43 · 540 阅读 · 0 评论 -
数据库基础
关系型数据库和非关系型数据库关系型:MySQL,Oracle,SqlServer。非关系型:Redis,memcache,mogodb,hadoop等。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属Oracle旗下产品。MySQL 是开源免费的,并且方便扩展。第一范式:列不可再分。第二范式:在第一范式上,行可以唯一区分,主键约束。第三范式:在第一第二范式上,表的非主属性不能依赖与其他表的非主属性,外键约束。1、第一范式(1st NF - 列都是不可再分)第一范式的目标是确保每列的原创 2022-07-13 20:33:59 · 2238 阅读 · 0 评论 -
Java基础-基本语法
1、Java语言有哪些特点简单易学、有丰富的类库面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)与平台无关性(JVM是Java跨平台使用的根本)可靠安全支持多线程2、面向对象和面向过程的区别面向过程:一种较早的编程思想,站着过程的角度思考问题,强调的就是功能行为,功能的执行过程,即先后顺序,而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现。使用的时候依次调用函数就可以了。面向对象:一种基于面向过程的新编程思想,站在对象的角度思考问题,把多个功能合理原创 2022-04-02 09:35:55 · 391 阅读 · 1 评论 -
csv文件导出
import com.alibaba.excel.annotation.ExcelProperty;import com.eg.cdt.saas.operator.common.util.StringUtils;import com.eg.cdt.saas.pay.dao.dto.AutoWithdrawalExportDTO;import lombok.extern.slf4j.Slf4j;import org.apache.commons.io.FileUtils;import org.ju.原创 2022-01-27 15:48:08 · 763 阅读 · 0 评论 -
Java读取txt文件的内容
/** Java读取txt文件的内容 * @param filePath 文件路径 * @param encoding 编码格式 * @return */ public static String readTxtFile(String filePath,String encoding) { String lineTxt = ""; try { File file = new File(filePath.原创 2021-12-21 17:02:24 · 774 阅读 · 0 评论 -
swagger2测试单个文件或者多文件上传(springboot)
单个文件@ApiOperation(value = "上传视频接口",notes = "上传视频接口")@ApiImplicitParams({ @ApiImplicitParam(name = "uId",value = "上传用户ID,",paramType = "query",required = true,dataType = "int")})@PostMapping(value = "/video/uplode", headers = "content-type=m原创 2021-12-17 10:22:26 · 5183 阅读 · 0 评论 -
swagger 返回参数注解
第一种@ApiOperation(value = "取消/流失列表")@GetMapping("/getStudentLoseList")@ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "type", value = "类型(0:取消分班 1:流失)",required = true,dataType = "int"), @ApiImplicitParam(paramType = "query".原创 2021-12-17 10:16:37 · 8481 阅读 · 0 评论 -
Swagger 参数为int数组
@ApiOperation(value = "状态", notes = "通过数组形式传入消息id")@RequestMapping(value = "/", method = RequestMethod.PUT)public ReturnInfo modifyMessageByMsgId(@ApiParam("用户ID数组") @RequestParam Integer[] ids) { for (int s : ids) { System.out.println(s); .原创 2021-12-17 09:32:35 · 708 阅读 · 0 评论 -
配置Swagger带token访问
第一种:设置全局token@Beanpublic Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //加了ApiOperation注解的类,才生成接口文档 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperat原创 2021-12-17 09:21:12 · 5161 阅读 · 0 评论 -
Redis Template常用方法总结
Redis常用的数据类型:String Hash List Set zSet Sorted setString类型判断是否有key所对应的值,有则返回true,没有则返回falseredisTemplate.hasKey(key)有则取出key值所对应的值redisTemplate.opsForValue().get(key)删除单个key值redisTemplate.delete(key)批量删除keyredisTemplate.delete(k..原创 2021-12-17 09:10:55 · 4455 阅读 · 0 评论 -
Git命令
git log -p FILE查看README.md的修改历史,例如:git log -p README.mdgitlog-S’PATTERN’例如,搜索修改符合stupid的历史:git log -S'stupid'gitadd-p交互式的保存和取消保存变化,使用:git add -pgitrm–cachedFILE这个命令只删除远程文件,例如:git rm --cached database.yml删除database.yml被保存的记录,但是不影响本地...原创 2021-12-17 08:37:54 · 237 阅读 · 0 评论 -
jsp 页面导出excel时字符串数字变成科学计数法的解决方法
1)文本:vnd.ms-excel.numberformat:@2)日期:vnd.ms-excel.numberformat:yyyy/mm/dd3)数字:vnd.ms-excel.numberformat:#,##0.004)货币:vnd.ms-excel.numberformat:¥#,##0.005)百分比:vnd.ms-excel.numberformat:#0.00%<td style="vnd.ms-excel.numberform...原创 2021-12-16 11:24:48 · 514 阅读 · 0 评论 -
添加拦截器
<mvc:interceptors> <bean id="allInterceptor" class="com.base.interceptor.AllInterceptor"/> <mvc:interceptor> <mvc:mapping path="/*/**" /> <bean id="CommonInterceptor" class="com.base.inter.原创 2021-12-16 11:12:32 · 68 阅读 · 0 评论 -
乱码问题解决
1、连接数据库的时候jdbc.properties:jdbc.properties: jdbc:mysql://localhost:3306/myproject?useUnicode=true&characterEncoding=utf8applicationContext.xml:jdbc:mysql://localhost:3306/myproject?useUnicode=true&characterEncoding=utf82、设置mysql字符...原创 2021-12-16 11:10:29 · 121 阅读 · 0 评论 -
HTTP状态码
1、1xx-信息提示:这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。2、2xx-成功:这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内容。 206-部分内容。3、3xx-重定向:客户端浏览器必须采取更多操作来实现...原创 2021-12-16 11:02:42 · 135 阅读 · 0 评论 -
mybatis的时间条件查询sql语句
一:sql server数据库的查询时间的方法select * from student where YEAR(comeyear)=2015select * from student where month(comeyear)=9select * from student where day(comeyear)=1select * from student where datepart(hh,comeyear)=9select * from student where datepart(mi,原创 2021-12-10 16:08:31 · 2411 阅读 · 0 评论 -
mybatis中大于等于小于等于的写法
第一种:原符号 < <= > >= & ' " 替换符号 < <= > >= & ' " create_date_time >= #{startTime} and create_date_time <= #{endTime}第二种:大于等原创 2021-12-10 16:00:17 · 335 阅读 · 0 评论 -
java7&java8 集合中对象的某一个字段分组
Java8根据单个字段分组//假设传入一个非空订单集合List<BaseOrder> orderList;//想要按照订单号分组Map<String, List<BaseOrder>> collect = orderList.stream().collect(Collectors.groupingBy(t -> t.getTradeNo()));根据多个字段分组Java8//假设传入一个非空订单集合,想要根据订单号和userId进行分原创 2021-12-10 15:36:59 · 1752 阅读 · 0 评论 -
简述设计模式
Java中总共包含以下23种设计模式创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。常用的有 :1,单例模式、单例对象(Singleton)是一种相对来说更常用的设计模式。在Java应用中,单例对象能保证在一原创 2021-12-08 11:18:25 · 279 阅读 · 0 评论 -
(一)单例模式(Singleton pattern)
1、懒汉式/*第一种(懒汉,线程安全):所谓懒汉,就是说当这个对象在需要进行获取的时候,再去对该对象进行创建*/Public class Singleton{ private static Singleton instance; //通过将构造方法私有化达到,不能直接通过new 类名(),创建类的目的!!! private Singleton(){} public static Singleton getInstance(){ if (instance原创 2021-12-08 11:13:58 · 106 阅读 · 0 评论 -
java8的lambda表达式
实体package com.vvvtimes.vo;import lombok.Data; import java.math.BigDecimal;import java.util.Date; @Datapublic class User { private Long id; //姓名 private String name; //年龄 private int age; //工号 privat.原创 2021-12-08 09:19:53 · 192 阅读 · 0 评论 -
ssh存入数据库乱码问题
1.默认MySQL的字符集是latin1(ISO_8859_1)通常,查看系统的字符集和排序方式的设定可以通过下面的两条命令:mysql> SHOW VARIABLES LIKE 'character%';+--------------------------+---------------------------------------------------------+| Variable_name | Value ...原创 2021-12-06 16:28:39 · 90 阅读 · 0 评论 -
SpringMVC常用注解
@Repository("exmDao") 此注解使用在dao层的实现类的方法上面@Service("exmService") 此注解使用在业务层的实现类上面@Resource 此注解使用在业务层调用dao层的接口上面@Controller 此注解使用在action类名的上面@RequestMapping(value="/zxExm") 此注解是用在action的类名上面,意思是可以通过value的值来访问此action@Resource 此注解是 用在action调用...原创 2021-12-06 15:21:23 · 129 阅读 · 0 评论 -
get()与load()的区别
1、如果找不到符合条件的纪录,get()方法将返回null.而load()将会报ObjectNotFoundEcception。2、load()方法可以返回实体的代理类实例,而get()永远只返回实体类.(get不支持延迟加载,load支持)3、load()方法可以充分利用二级缓存和内部缓存的现有数据,而get()方法只在内部缓存中进行查找,如没有发现对应数据将跳过二级缓存,直接调用SQL完成查找.//悲观锁/*String hql="from Emp as emp where emp.em原创 2021-12-06 15:18:09 · 609 阅读 · 0 评论 -
RabbitMQ消息中间件
1.概念RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP:Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。RabbitMQ最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:1.可靠性(Reliability):RabbitMQ使用一些机制来保证可靠...原创 2021-11-08 16:03:43 · 149 阅读 · 0 评论 -
Mybatisplus 分表查询记录
private List<String> getTableName(String tradeTimeBegin,String tradeTimeEnd){ List<String> tableName = new ArrayList<>(); if(StringUtils.isBlank(tradeTimeBegin)){ tradeTimeBegin="2020-01-01"; } ...原创 2021-10-18 10:45:27 · 672 阅读 · 0 评论 -
EasyExcel 导出Excel并合并单元格
public static void exportExcel(String fileName, HttpServletResponse response, Class<?> clazz, List<?> data) { //需要合并的列 int[] mergeColumeIndex = {0,1}; // 从那一列开始合并 int mergeRowIndex = 0; logger.info("Exc..原创 2021-10-14 20:19:27 · 878 阅读 · 0 评论 -
POI Excel导出合并单元格
/** * * @param dataList 数据 * @param headNameMap 标题 * @param type 类型 1 xls 2 xlsx * @param mergeIndex 需要合并的列 从1开始 0是序号 * @param col 以哪一列为准进行合并 * @return * @throws Exception */ public static byte[] toExcel..原创 2021-10-14 19:30:28 · 569 阅读 · 0 评论 -
Java基础
一、 Java语言有哪些特点简单易学、有丰富的类库 面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 与平台无关性(JVM是Java跨平台使用的根本) 可靠安全支持多线程二、面向对象和面向过程的区别面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某...原创 2021-10-13 14:47:24 · 68 阅读 · 0 评论 -
PDF转多张图片
package com.eg.cdt.saas.operator.cdt.utils;import org.apache.pdfbox.cos.COSName;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.pdmodel.PDPage;import org.apache.pdfbox.pdmodel.PDPageTree;import org.apache.pdfbox.pdmodel.graphics.原创 2021-10-08 16:50:13 · 155 阅读 · 0 评论 -
json字符串转JSONObject和JSONArray以及取值的实例
import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { String joStr = "{name:\"张三\",age:\"20\"}"; //将json字符串转化为JSONObject JSONObject jsonObject = JSONObject.from.原创 2024-02-19 16:05:25 · 393 阅读 · 0 评论 -
JSON数组形式字符串转为List
package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; import java.util.List;import java.util.Map; public class JsonToMapTest02 { public static void main(.原创 2020-08-27 09:20:58 · 1155 阅读 · 0 评论 -
String转List<Long>
private List<Long> stringToLongList(String strArr) { return Arrays.stream(strArr.split(",")) .map(s -> Long.parseLong(s.trim())) .collect(Collectors.toList());}原创 2020-08-27 09:18:24 · 2625 阅读 · 0 评论