- 博客(24)
- 资源 (1)
- 论坛 (1)
- 收藏
- 关注
转载 Java-记一次if-else代码优化
https://artisan.blog.csdn.net/article/details/86703136
2021-01-31 16:14:06
42
原创 优化if-else代码的八种方案!
文章目录1. 优化方案一:提前return,去除不必要的else2. 优化方案二:使用条件三目运算符3. 优化方案三:使用枚举4. 优化方案四:合并条件表达式5. 优化方案五:使用 Optional6. 优化方案六:表驱动法7. 优化方案七:优化逻辑结构,让正常流程走主干8. 优化方案八:策略模式+工厂方法消除if else1. 优化方案一:提前return,去除不必要的else如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码更加优雅。优化前:
2021-01-31 15:54:18
123
原创 策略模式+工厂模式(反射)+枚举代替 大量 if..else if..
实际项目中我们经常碰到需要使用if…else…if的分支判断这种情况。这种写法带来一些弊端。一旦分支多太多,逻辑复杂,会导致代码十分冗长,增加阅读难度。如果需要增加或减少分支,需要改动if…elseif,增大因代码改动而出错的风险。例如:...
2021-01-31 15:28:55
119
原创 (企业内部)SQL算法中的变量使用占位符动态赋值
方式1package com.gblfy..controller;/** * 入参1:匹配字符串 * 入参2:值 */public class DynamicSql { private String sql; /** * 赋值 * * @param colum 匹配 * @param value 值 */ public void setValue(String colum, String value) {
2021-01-30 22:55:34
41
原创 plsql不加date
nls_date_formatYYYY-MM-DDnls_timestamp_formatYYYY-MM-DDNUMBER_OF_PROCESSORS8
2021-01-30 22:54:57
73
原创 异常模拟
package com.gblfy.controller;import com.gblfy.service.ExceptionService;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;imp
2021-01-30 13:11:57
36
原创 时间记录
long forStrTime = 0L; //开始时间forStrTime = System.currentTimeMillis();//结束时间long forEndTime = System.currentTimeMillis();logger.info("转发结束时间:[{}]", forEndTime + "毫秒");//计算耗时时间long endToStart = (long) (forEndTime - forStrTime);logger.info("转发消耗的时间:[{
2021-01-30 13:09:44
52
原创 Java实现首字母大写、驼峰命名与、划线转换,校验null
/** * 首字母转大写、驼峰命名 * * @param s 待转换的字符串 * @return 转换结果 */ public static String initialToCapital(String s) { StringBuilder sb = new StringBuilder(); if (s == null || s.trim().isEmpty()) { return sb.toString(); } if (s.length() <= 1)
2021-01-24 04:39:01
76
原创 Java实体类去掉属性值空格
在使用Oracle数据库时经常出现数据库char字段被空字符填充的情况,在写业务代码时需要对字段进行处理,BeanHelper.beanAttributeValueTrim(object);public class BeanHelper { public static void beanAttributeValueTrim(Object bean) throws Exception { if (bean != null){ Field[] fields =
2021-01-22 20:46:42
198
原创 解决 mysql>com.mysql.jdbc.PacketTooBigException: Packet for query is too large (12073681 > 4194304)
com.mysql.jdbc.PacketTooBigException: Packet for query is too large 异常解决办法:原因: 查询出的数据包过大,默认情况下mysql 的字段容量不够装,所以抛出此异常解决办法:第一步:首先通过SQLyog客户端查询框输入以下命令,也可以在cmd命令行窗口下登录mysql后输入以下命令:SHOW VARIABLES LIKE '%max_allowed_packet%';查看当前的最大允许数据包的容量。默认情况下,最大允许数据包的
2021-01-20 20:47:57
118
原创 mybatis批量插入数据到Oracle中的两种方式
文章目录1. 第1种2. 第2种1. 第1种<insert id="addList" parameterType="java.util.List" useGeneratedKeys="false"> INSERT ALL <foreach item="item" index="index" collection="list"> INTO T_APPLAUD ( ID, USER_ID, BUSINE
2021-01-20 19:43:48
66
原创 获取 当前日期、当前时间、前一天日期
/** * 获取前一天日期 * * @return */ public String getYesterday() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -1); //得到前一天 Date date = calendar.getTime(); DateFormat df = new Si.
2021-01-17 17:30:46
77
原创 字符串对象数组集合非空判断
String 字符串//直接用字符串调用方法 str.isEmpty() 如果为null则会抛出异常 if (StringUtils.isEmpty(str)){// "" 和null均判断为空 System.out.println("string为空");}对象//第1种: if (Objects.isNull(null)){ //null System.out.println("obj为空"); }
2021-01-17 17:27:47
59
1
原创 2个 string 日期比较
public static void main(String[] args) { String date1 = "2019-02-12"; String date2 = "2019-01-21"; int compareTo = date1.compareTo(date2); if (compareTo > 0) { System.out.println("date1 大于 date2"); ...
2021-01-17 16:54:24
136
原创 java 判断对象是否为空
public static void main(String[] args) { Hxprocesslog hxlog = null; if (StringUtils.isEmpty(hxlog)) { logger.info("null"); } else { logger.info("not null"); } }控制台输出:2021-01-17 16:26:43,032:...
2021-01-17 16:27:45
223
原创 String转int,int转String
/** * string 转换int * * @param strInt * @return */ public int intConverStr(String strInt) { try { return Integer.parseInt(strInt); } catch (NumberFormatException e) { logger.error("string
2021-01-17 16:22:13
61
原创 ThreadPoolExecutor中的keepAliveTime详解
文章目录一、keepAliveTime的概念二、keepAliveTime的设置方法2.1. 通过构造函数设置2.2. 通过setKeepAliveTime方法动态设置三、线程是如何根据keepAliveTime进行销毁的阅读这篇文章,你将会知道:keepAliveTime的概念。keepAliveTime是如何设置的。线程是如何根据keepAliveTime进行销毁的。一、keepAliveTime的概念1 keepAliveTime的单位是纳秒,即1s=1000000000ns,1秒等
2021-01-10 21:00:28
118
原创 dataX阿里开源ETL工具数据同步_入门_01
文章目录一、概述1. 是什么?2. 开源地址3. DataX下载地址二、简介2.1. 设计架构2.2. 框架结构三、安装3.1. 上传linux3.2. 解压3.3. 自检脚本一、概述1. 是什么?DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。2. 开源地址
2021-01-06 22:54:46
225
原创 oracle 查看当前登录用户和所有用户
oracle 查看当前用户名 show user select user from dualoracle 查看所有用户名 select * from all_users
2021-01-04 11:46:21
201
1
原创 Navicat连接mysql8.0.1版本出现1251--Client
```bashALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
2021-01-01 16:49:40
89
原创 解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL
use mysql;select host,user from user;update user set host='%' where user='root';flush privileges;
2021-01-01 16:48:56
84
gblfy的留言板
发表于 2020-01-02 最后回复 2020-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝