![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
hooroom
但行好事,莫问前程!
展开
-
List对象集合按某个属性分组
方法如下:private Map<String,List<Detail>> getDetailListById(List<Detail> list){ Map<String,List<Detail>> map = new HashMap<>(); for(Detail detail : list){ String id = detail.getId;//按id分组...原创 2021-10-11 17:42:06 · 232 阅读 · 0 评论 -
对象集合按对象中某个属性去重
方法如下: private Set<Detail> getValueSet(List<Detail> list,final String fieldName){ //重写Set Set<Detail> set = new TreeSet<>(new Comparator<Detail>() @Override public int compare(Detail o1...原创 2021-10-11 17:29:54 · 181 阅读 · 0 评论 -
汉字转汉语拼音
1 . pom 如下<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version></dependency>2.工具类/** * 汉字转汉语拼音 * */public static String toHanYuPinYin(S原创 2020-12-03 17:48:34 · 272 阅读 · 0 评论 -
easyExcel下载Excel
加入依赖:<dependency><goupId>con.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency>/***excelTitles :excel的title*dataList:数据集合*clumnKey:key表示一行的第几个cell,valu..原创 2020-09-18 16:56:28 · 2277 阅读 · 0 评论 -
springboot用poi下载Excel到浏览器端或服务端
/***excelTitles :excel的title*dataList:数据集合*clumnKey:key表示一行的第几个cell,value和IndicatorDataRespDTO的属性名对应**/private void loadExcelUtil(List<String> excelTitles ,List<IndicatorDataRespDTO dataList,HashMap<Integer,String> clumnKey,HttpServlet原创 2020-09-15 18:17:33 · 511 阅读 · 0 评论 -
oracle实现列转行
用union all可以实现列转行数据库列 :ind_code , ind_name , data_d,data_m,data_y 111 收入 222 333 444现在要:111 收入 日 222 111 收入 月 333 111 收入 ...原创 2020-09-11 12:41:50 · 1338 阅读 · 0 评论 -
mybatis一对多的查询的resultMap 及insert
<resultMap id ="indicatorCardOverviewResultMap" type="com.dbvs.IndicatorCardOverviewDTO"> <id column="id" property="id"/><result column="card_name" property= "cardName" /><result column="date_type" property= "dateType" />...原创 2020-09-04 11:40:49 · 797 阅读 · 0 评论 -
多个对象list,不用for循环求笛卡尔集
业务需求:现在有好多个维度List 机构:List<Dimension> deptList、渠道:List<Dimension> channelList、 产品:List<Dimension> productList、口径:List<Dimension> specList等维度。 Dimension 对象有code,name,type属性。 ...原创 2020-08-25 14:20:49 · 286 阅读 · 0 评论 -
项目中线程池的应用
注意红色字体部分业务需求:数据可能来自不同的数据源,mysql,oracle,或者远程接口(分为两个实现类:数据和api)用线程池调用1.service层核心代码:@Autowired//数据和api的实现类,继承AbstractDataHanderService,AbstractDataHanderService为抽象类,private Map<String,AbstractDataHanderService> handerServiceMap;private Th原创 2020-08-21 19:17:24 · 906 阅读 · 0 评论 -
我的java面试总结及笔记
1.Euraka自我保护机制: 某时刻某个微服务不可用了,Euraka不会立刻清理,依旧会对该服务信息进行保存2.谈谈对微服务的理解: 微服务强调的是一个个的个体,每个个体完成一个具体的任务和功能; 将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中3.说一下dubbo和springCloud的区别 通信机制不一样,dubbo用RPC、springCloud用restful4.谈谈微服务的优点 每个服务足够内聚、足够小; 开...原创 2020-07-03 14:19:28 · 268 阅读 · 0 评论 -
java带token的Http请求
//请求url伪代码List<Message> message = null;HttpHeaders headers = creatHttpHeaders(); //封装header方法restTemplate.getMessageConverters().add(new StringHttpMessageConverter(Charset.forName("utf-8")));HttpEntity<String> requestEntity = new HttpE.原创 2020-07-03 11:48:35 · 7698 阅读 · 0 评论 -
Collections.sort 排序:把对象集合中的值为“-”的对象放到集合最后面,以及Comparison method violates its general contract异常解决
我的对象集合结构: List<HashMap<String,Object>> valueList = ......Collections.sort(valueList,new Comparator<HashMap<String,Object>>(){@Overridepublic int compare(HashMap<St...原创 2020-04-30 16:29:01 · 463 阅读 · 0 评论 -
对没有出现的机构数据默认为0,并且按红灯排序,再按黄灯排序,并且行转列(sql和java代码两种方法)
业务需求:按机构亮灯数排序,先按红灯数排序,再按黄灯数排序;如果没有这个机构,默认红黄灯都是0;总机构,东南区,西北区按顺序默认排在最前面一,sql解决select deptCode, deptName, case when deptCode ='2' then 1 when deptCode ='01' then '2' when deptCode ='02' the...原创 2020-04-09 11:30:59 · 165 阅读 · 0 评论 -
springboot用包来区分双数据源
1.application.ymlspring: datasource: druid: dbvs: //表示mysql数据库的数据源信息 driver-class-name: 。。。。。。省略 。。。。。。 ims: 表示oracle数据库的数据源信息 driver-class-name: 。...原创 2020-03-25 16:10:08 · 309 阅读 · 0 评论 -
java代码或者sql实现行转列
有这样的数据结构:机构code 预警亮灯灯类型(0:红 1:黄) 灯数量 201 0 60 201 1 70 202 0 80 203 1 90 要转换为下面结构:机构code 红灯数量 黄灯数量 201 60 70 202 80 0 203 0...原创 2020-03-13 19:28:29 · 1504 阅读 · 0 评论 -
java递归封装成child结构
@Datapublic class DimensionDto{private String name;private String code;private String level;private String parentCode;private String parentName;private Set<DimensionDto> child;//...原创 2020-03-11 15:35:45 · 798 阅读 · 0 评论 -
java 当月最后一天
public static Long getMonthLastDate(date){try{ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); if(!StringUtils.isEmpty(date)){ ...原创 2020-03-09 13:39:56 · 173 阅读 · 0 评论 -
保留两位小数
public static String parseString(String data){ if(!StringUtils.isEmpty(data)){ Double d =Double.valueOf(data); BigDecimal bd = BigDecimal.valueOf(d); //保留两位就是0.00,三位就是0.000 Decima...原创 2020-03-09 11:50:11 · 266 阅读 · 0 评论 -
lombok各个版本下载地址
https://plugins.jetbrains.com/plugin/6317-lombok/versions原创 2020-02-18 16:03:13 · 16164 阅读 · 0 评论 -
一个接口有多个实现方法具体调用
1.如果这个接口下的实现类我们都要遍历调用可以在impl中://DimensionDetailService为接口@Autowiredprivat Map<String,DimensionDetailService> map;//然后就可以遍历调用啦map.values().forEach(dimensionDetailService -> {...原创 2020-01-06 18:08:26 · 3890 阅读 · 1 评论 -
maptruct复制对像
现在项目中要求用mapstruct每个接口要有自己的接收参数对象,就是controller层的入参对象,以Req结尾,比如:IndicatorReq规定service层不能直接用IndicatorReq,要转换为IndicatorDTOservice返回结果也是DTO结尾,比如IndicatorResultDTO在controller层返回不能直接用IndicatorResultD...原创 2019-11-25 17:17:04 · 257 阅读 · 0 评论 -
java遍历child结构数据
业务需求:我现在由一组对象集合表示机构SelectDimensionChildDTO:机构对象(属性:code,name,parentCode,parentName,level,下一级集合List<SelectDimensionChildDTO> child),下一级集合对象是他自身。这就是chlid结构。List<SelectDimensionChildDTO> ...原创 2019-11-25 16:39:14 · 1155 阅读 · 0 评论 -
多个for循环,解决为null方法
业务需求:参数是各个维度(机构,渠道,产品,客户,日期类型,口径,环节等),名字组合成不同的维度返回 比如前端的参数如下 机构:全机构、东南区(可以选多个也可以不选) 渠道:全渠道(可以选多个也可以不选) 产品:全产品(可以选多个也可以不选) ...原创 2019-11-25 16:03:08 · 2184 阅读 · 1 评论 -
工作中用到的Lambda笔记
有集合如下:List<MonthFinanceIdxDetail> data = ...1. 对象集合去重:data = data.stream().distinct().collect(Collectors.collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Co...原创 2019-10-14 19:52:38 · 181 阅读 · 0 评论 -
复制克隆对象或者集合的工具类
public class BeanUtil{public static <T> List<T> copyToList(Class<T> toClass,List<?> fromBeanList){ List<T> result = new ArrayList<>(); for(Object o :fromBea...原创 2019-10-14 19:11:53 · 426 阅读 · 0 评论 -
克隆一个对象,通过反射
//工具类,把from对象赋予T这个对象pubic static <T> T copyTo(Class<T> toClass,Object from){try{ T to =null; to = toClass.newInstance(); Field[] ff = getFields(from.getClass()); for(Field f:ff)...原创 2019-09-05 10:30:11 · 205 阅读 · 0 评论 -
阿里规约总结-平时不注意的不良代码习惯
1.我们随机数经常用Random random = new Random();这是不安全的以下三种是安全的:SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); SecureRandom sr = SecureRandom.getInstance("SHA1PRNG",...原创 2019-08-30 16:56:20 · 398 阅读 · 0 评论 -
截取log中耗时超过三秒的方法的RequestId和耗时,并按耗时降序排序把结果输出到文件
第一种:java IO流public class ReadLog throw Exception{Hash<String,Integer> resultMap =new HashMap<>();//要读取的log文件File fileRead =new File("D:\log-1.log");BufferedReader br = new Buffere...原创 2019-08-30 10:35:48 · 253 阅读 · 0 评论 -
阿里规约要求的线程池
阿里规约idea插件下载:http://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines/versions阿里规约要求的线程池:https://www.cnblogs.com/jmcui/p/8017473.html线程池的各种使用场景:https://blog.csdn.net/qq_17045385/ar...原创 2019-08-20 18:05:30 · 1253 阅读 · 0 评论 -
Java Lambda常用方法
三篇Lambda,从入门到精通!Lambda常用方法lambda表达式之 Stream常用方法lambda 的使用原创 2019-08-05 22:06:58 · 479 阅读 · 0 评论 -
springboot整合IK分词器
核心代码:private static Set segment(String text) throws Exception{ //text 为你要搜索的内容Set<String> set = new HashSet<>();StringReader re = new StringReader(text.trim());IKSegmenter ik= new...原创 2019-07-05 15:06:44 · 5201 阅读 · 1 评论 -
mybatis java.lang.NumberFormatException:For input string "":找到原因我是醉了!
之前的项目从来没遇到这个错。最近做另一个项目,第一次见这个bug,我也是醉了!我mybatis中的部分sql:<if test=' flag == "1" '> and parent_code = #{areaCode}</if><if test='flag' =="2" '> and classify_kh = #{KHCo...原创 2019-06-21 08:18:09 · 2986 阅读 · 0 评论