
java
文章平均质量分 60
qq_41482600
凌波微步
展开
-
幂等性--
幂等性:一个接口,多次发起同一请求,必须保证执行一次,防重复提交例如:订单接口不能多次创建订单支付接口不能重复提交前端重复提交数据由于网络问题接口提交两次(1).查询操作:查询一次还是多次查询结果一样,没有影响(2).删除操作:删除一次还是删除多次都是把数据删除(3).唯一索引,防止新增脏数据:唯一索引或唯一组合索引来防止新增数据存在脏数据 (当表存在唯一索引,并发时新增报错时, 再查询一次就可以了,数据应该已经存在了,返回结果即...原创 2020-06-10 19:32:53 · 129 阅读 · 0 评论 -
mybatis
1.#{}和${}的区别是什么?${}是properties文件中的变量占位符,它可以用作标签属性值和sql内部,属于静态文本替换#{}是sql的参数占位符,mybatis会把sql中的#{}替换为?2.xml标签,除了insert/delete/update/query外,还有?<resultMap>,<parameterMap>,<selectkey>,<sql>,<include>动态标签:if|where|foreach|cho原创 2020-06-11 17:14:44 · 188 阅读 · 0 评论 -
spring
1.spring的IOC与AOP的理解控制反转(ioc):对象的创建与协调工作交给spring容器管理,当一个对象需要协助对象时,spring动态的通过依赖注入的方式提供协作对象面向切面编程(aop):应用的业务逻辑与系统服务分开,日志记录spring 切面的5种类型:前置通知(Before)、后置通知(After)、返回通知(After-returning)、异常通知(After-throwing)、环绕通知(Around)(1)、切面(aspect):类是对物体特征的抽象,切面就是对原创 2020-06-16 18:41:09 · 219 阅读 · 0 评论 -
定时任务时间表达式规则
格式: [秒] [分] [小时] [日] [月] [周] [年]序号 说明 是否必填 允许填写的值 允许的通配符1 秒 是 0-59 - * /2 分 是 0-59 - * /3 时 是 0-23...原创 2020-09-01 15:18:36 · 3446 阅读 · 0 评论 -
idea与eclipse快捷键对比
删除一行 Ctrl+D Ctrl+Y 关闭当前窗口 Ctrl+W Ctrl+F4 上移、下移一行 Alt+↑、↓ Ctrl+Alt+↑、↓ 回退操作 Ctrl+Z Ctrl+Z 反向回退 Ctrl+Y Ctrl+Shift+Z 回到上一处编辑 Alt+← Ctrl+Alt+← 提取变量 Ctrl+1 And Ctrl+L Ctrl+Alt+V 添加或取消注释 Ctrl+/ Ctrl+/原创 2020-10-19 17:34:51 · 396 阅读 · 1 评论 -
工具类使用@Autowired注入
Java变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法–>@Autowired 静态变量、静态方法不是对象的属性,而是一个类的属性,所以静态方法是属于类(class)的,普通方法才是属于实体对象(也就是New出来的对象)的,spring注入是在容器中实例化对象的,并且静态是优先于对象存在的,所以直接在静态方法中调用注入的静态变量其实是为null的。归根结底,sping中如果要对静态变量进行注入只能是变相、间接的来完成1.工具类交给spring管理p原创 2020-12-24 10:20:20 · 2572 阅读 · 0 评论 -
jackson、fastjson、net
1.JsonNodepackage shangbo.jackson.demo19;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.node.ObjectNode;public class App { public static void main(String[] a原创 2021-03-30 15:34:39 · 160 阅读 · 0 评论 -
Log4j2 日志级别
Log4j2日志级别级别在log4j2中, 共有8个级别,按照从低到高为:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。All:最低等级的,用于打开所有日志记录.Trace:是追踪,就是程序推进一下.Debug:指出细粒度信息事件对调试应用程序是非常有帮助的.Info:消息在粗粒度级别上突出强调应用程序的运行过程.Warn:输出警告及warn以下级别的日志.Error:输出错误信息日原创 2021-12-06 10:03:12 · 730 阅读 · 0 评论 -
sharding-jdbc
一、sharding-jdbc简介Sharding-JDBC是ShardingSphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。基于任何第三原创 2022-01-28 15:49:34 · 2410 阅读 · 0 评论 -
java时间格式处理
一、根据当前时间,获取具体的时刻的时间import java.text.SimpleDateFormat;import java.util.Date; public class getTime { public static void main(String[] args) { SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date time = new Date(ne原创 2022-01-28 16:44:06 · 1361 阅读 · 0 评论 -
NamedParameterJdbcTemplate常用方法总结
NamedParameterJdbcTemplate类拓展了JdbcTemplate类,对JdbcTemplate类进行了封装从而支持命名参数特性。NamedParameterJdbcTemplate主要提供以下三类方法:execute方法、query及queryForXXX方法、update及batchUpdate方法。一、支持类SqlParameterSource 简介可以使用SqlParameterSource实现作为来实现为命名参数设值,默认实现有 :MapSqlParameterS.原创 2022-02-07 16:30:54 · 3491 阅读 · 0 评论 -
java开发规范
1. long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。2. 缓存相关常量放在类 CacheConsts 下;系统配置相关常量放在类 ConfigConsts 下。3. Service/DAO 层方法命名规约获取单个对象的方法用 get 做前缀。 获取多个对象的方法用 list 做前缀。 获取统计值的方法用 count 做前缀。 插入的方法用 save/insert 做前缀。 删除的方法用 remove/delete 做前缀。原创 2022-05-19 17:15:12 · 684 阅读 · 0 评论 -
多线程间的通信方式
多线程通信原创 2022-06-23 14:42:51 · 320 阅读 · 0 评论 -
JAVA使用小工具
java工具类原创 2022-06-28 15:52:10 · 937 阅读 · 1 评论 -
JVM性能调优
jvm原创 2022-07-29 09:08:59 · 1245 阅读 · 0 评论 -
JAVA 定时任务实现方式
定时任务原创 2022-07-29 16:46:59 · 7346 阅读 · 0 评论 -
JSR-303
规范原创 2022-10-13 10:07:03 · 234 阅读 · 0 评论 -
RestTemplate
httpPost原创 2022-12-08 16:22:18 · 714 阅读 · 0 评论 -
IDEA安装Lombok插件
lombok原创 2023-02-07 10:29:56 · 1950 阅读 · 0 评论 -
hashMap遍历java.util.ConcurrentModificationException
ConcurrentHashMap原创 2023-02-22 16:10:42 · 711 阅读 · 0 评论 -
Kettle使用
kettle原创 2023-02-27 15:52:27 · 145 阅读 · 0 评论 -
JDK17 下载与安装
jdk原创 2023-02-28 16:11:00 · 10418 阅读 · 1 评论 -
this version of the Java Runtime only recognizes class file versions up to 52.0
apache hop原创 2023-02-28 16:25:07 · 337 阅读 · 0 评论 -
Excel导出百万数据
原始需求:用户在UI界面上点击全部导出按钮,就能导出所有商品数据,但导出的记录条数可能是200万。原创 2023-03-13 16:55:04 · 487 阅读 · 0 评论 -
Apache Hop使用
hop原创 2023-03-24 15:09:00 · 1569 阅读 · 3 评论 -
BigDecimal加减乘除计算
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。原创 2023-05-23 11:25:04 · 8178 阅读 · 0 评论 -
java中枚举类使用
由于它继承于java.lang.Enum类,所以当定义一个枚举类型时,每一个枚举类型成员都可以看作是枚举类型的一个实例,这些枚举类型成员默认都被final、public、static所修饰,当使用枚举类型成员时直接使用枚举类型名称调用枚举类型成员即可。形参只要一个String类型的值即可,并且该String值为枚举值对应的名称,即toString()方法返回的值(比如枚举常量为OK,对应的名称就是"OK")。该方法为静态方法,调用者为枚举常量,不是枚举值;方法返回指定字符串值的枚举常量。原创 2023-06-25 17:00:44 · 546 阅读 · 0 评论 -
java Object转String方式
value = "a"或""或1(Integer类型),toString()方法可以直接转换String类型。value = null或key = a5 ,a5不存在 ,toString()方法报空指针异常。value = "a"或""可以进行强制转换String类型,值是String类型。value = "a"或""或1或null 都可以直接转换String类型的字符串。弊端:null对象会被转换成"null"弊端:null对象会被转换成"null"弊端:int或long类型强制转换异常。原创 2023-10-13 16:44:00 · 649 阅读 · 0 评论