自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 ddl操作不支持事务

ddl操作会提交当前事务,并新建一个事务

2023-03-13 18:30:47 507

原创 java验证字符串是否为指定日期格式

java验证字符串是否为指定日期格式

2023-01-17 09:05:58 2856

原创 Java实现inputstream流的复制

1

2022-09-08 11:33:50 2599 1

原创 用Java修改json文件的内容(读取文件修改后输出)

用Java修改json文件的内容(读取文件修改后输出)

2022-08-01 20:00:00 3187 1

原创 组件化通用接口实现

这里提供了一种解决问题的思路,在做其他需求时可以参考这种思路解决问题

2022-07-06 09:57:36 209

原创 数据库转译

在做历史数据迁移的时候发现了数据库会自动转译的问题页面显示原数据:数据库中:代码中:1\n2\n3\n4将老数据读取后重新拼装入库 数据库会多加一个\,页面就变成了最后执行下sql替换update table set content_major = replace(content_major, ‘\n’, ‘\n’)where id >0;.........

2022-07-05 10:49:56 928

原创 失控的断点

失控的断点

2022-07-01 10:57:39 219 3

原创 sequence解决oracle数据库主键不自增

工作这么多年。总算遇到一家数据库用oracle的企业了,由于oracle与mysql的不同,mysql设置了主键(id),那他就会实现自增,插入数据时,无需指定i的值,但是oracle却无法实现主键自增,解决方法:sequence(序列)使用序列完成自增(1)创建序列create sequence **MYBATIS** minvalue 1 --最小值 nomaxvalue --不设置最大值 start with 1 --从1开始计数 increment by 1 --每次加1个

2022-05-17 15:25:30 1063

转载 什么是数据字典

数据字典数据字典是一种通用的程序设计方法。可以认为,不论什么程序,都是为了处理一定的主体,这里的主体可能是人员、商品(超子)、网页、接口、数据库表、甚至需求分析等等。当主体有很多的属性,每种属性有很多的取值,而且属性的数量和属性取值的数量是不断变化的,特别是当这些数量的变化很快时,就应该考虑引入数据字典的设计方法。数据字典有两种形式一、把主体的属性代码化放入独立的表中,不是和主体放在一起,主体中只保留属性的代码。这里属性的数量是不变的,而属性取值的数量可以是变化的。二、用一个表来放结构相同的所有属性

2022-05-12 10:21:23 17351 2

原创 什么时候事务会不生效

1、确认是否数据库引擎设置不对,比如常用的MySQL的MyISAM是不支持事务操作的2、入口方法必须是public3、Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚4、启用注解事务管理@EnableTransactionManagement(新建的Spring Boot项目中,一般都会引用spring-boot-starter或者spring-boot-starter-web,这两个起步依赖中都已经包含了对于spring-boot-

2022-05-10 10:25:41 278

原创 乐观锁、悲观锁

悲观锁认为一定会发生线程安全问题,每次拿数据的时候都认为别人会修改,所以每次拿数据是都会上锁。传统的关系型数据库使用这种锁机制,比如行锁、表锁、读锁、写锁等,都是在操作之前先上锁。再比如Java 里面的同步 synchronized 关键字的实现也是悲观锁。悲观锁主要分为共享锁和排他锁:共享锁又称为读锁,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,排他锁就是不能与其他锁并存,如果一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他

2022-04-08 16:30:00 76

原创 Mybatis一级、二级缓存

mybatis一级缓存:一级缓存是默认开启的,他是用来保存用户对数据库的操作和数据库返回的数据,结果会存入到 SqlSession为我们提供的一块区域中。该区域的结构是一个Map。如果下一次用户再执行相同的请求,那么直接从内存中读数数据而不是从数据库读取。这里要注意一个点,因为一级缓存是依赖于SqlSession对象的,当SqlSession对象消失时,Mybaits的一级缓存也就消失了。当Mybaits与Spring整合的时候,不带Spring事务的方法内,每次请求数据库,都会新建一个SqlSes

2022-04-06 20:04:43 2012

原创 索引总结1

执行计划explain列含义b+树分块读取->分而治之尽可能提高IO效率(1、减少IO量 2、减少IO次数)操作系统1、局部性原理时间:之前被访问过的数据很有可能再次被访问。空间:数据和程序都有聚集成群的倾向。2、磁盘预读 内存根磁盘在进行交互的时候有一个最小的逻辑单位,这个单位称之为页,或者datapage,一般是4k或者8k(分块读取),由操作系统决定,我们在进行数据读取的时候,一般会读取页得整数倍,也就是4k,8k,16k,innodb存储引擎在进行数据加载的时候读取

2022-03-21 15:27:04 426

原创 ThreadLocal内存泄露

什么是ThreadLocal## 标题ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的,在多线程环境下,防止自己的变量被其它线程篡改。PS:spring的事务底层就是使用ThreadLocal进行的数据隔离,MySQL动态数据源切换也是使用的ThreadLocal…例如:小明去上班要先做公交车在做地铁,如果每次坐车都要排队买票(加锁🔐),那么时间效率很差。于是小明办理了一张通用的公交卡,公交车和地铁都可以刷。而小蓝小红也有这样的公交卡,它们的公

2022-03-11 11:24:06 571

原创 淘宝分布式 key/value 存储引擎Tair的使用

@Value("${cellar.area}") private short tairArea; private final TairClient.TairOption getOpt = new TairClient.TairOption(2000, (short) 0); private static final String LOCK_PREFIX = "lock";加锁 /** * tryLock 立刻返回 * * @param

2022-03-07 17:31:03 439

原创 sql中进行运算时,要判断数据是否为null

sql中进行运算时,要判断数据是否为null

2022-02-21 11:28:28 424

原创 Preconditions.checkArgument遇到的问题

我们在开发的时候谷歌的checkArgument方法,抛出异常信息 checkArgument(Objects.nonNull(dept), "获取部门信息异常!");底层代码: public static void checkArgument(boolean expression, @Nullable Object errorMessage) { if (!expression) { throw new IllegalArgumentExceptio

2022-01-21 11:03:09 1320

原创 不使用实体类注解的方式,给表头及正文单元格设置样式

由于最新的2.0.0-beta5版本将原来的Sheet类删除了,它的设置单元格格式方法setTableStyle及setColumnWidthMap方法也不能用,所以整理了一下方法。/** * 创建默认表头及内容格式 * @return HorizontalCellStyleStrategy */ private HorizontalCellStyleStrategy createDefaultStyle() { // 头的策略 Wr

2022-01-13 18:47:38 957

原创 用postman测试文件上传

2021-12-15 11:20:54 7396

原创 EasyExcel 冻结固定表头 和搜索

添加一个类import com.alibaba.excel.write.handler.SheetWriteHandler;import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;import org.apache.poi.ss.usermodel.Sheet;import org.apache

2021-12-09 15:22:11 2185

原创 使用Guava retryer优雅的实现接口重调机制

private T executeWithRetry(Callable callable) throws ExecutionException, RetryException {return RetryerBuilder.newBuilder().retryIfExceptionOfType(TException.class)//遇到TException.retryIfRuntimeException()//遇到RuntimeException.retryIfResult(Collection

2021-11-05 16:01:18 262

原创 什么时候会出现锁表

数据库修改数据,不用主键,条件太宽泛,如果同时有并行对其他任务容易锁表

2021-11-02 20:57:20 181

原创 mysql in or in 一堆不走索引 优化

在查询时in一堆不走索引,且数据查询及慢SELECT * FROM table where (acceptor_id in(1,2, 3,4,5,)or propesstor_id in (1,2, 3,4,5,))in or in 300条数据查询耗时6s,改造SELECT *FROM (SELECT “1” cid UNION ALLSELECT “2” UNION ALLSELECT “3” UNION ALLSELECT “4” UNION ALLSELECT “5” UNIO

2021-10-22 19:21:26 812

原创 insert into、insert ignore into、insert into … on duplicate key update

insert into当插入数据时,如果唯一性校验出现重复问题,则报错;如果没有重复性问题,则执行插入操作。简单总结:重复则报错,不重复则插入。insert ignore into当插入数据时,如果唯一性校验出现重复问题,则忽略错误,只以警告形式返回,不执行此SQL语句;如果没有重复性问题,则执行插入操作。简单总结:重复则忽略,不重复则插入。insert into … on duplicate key update当插入数据时,如果唯一性校验出现重复问题,则在原有记录基础上,更新指定字段内

2021-09-14 11:02:23 179 1

原创 MultiKey唯一键的使用

public MultiKey multiKey(Po po){return new MultiKey<>(po.getId(),po.getName(),po.getRole());}根据id name role生产唯一键

2021-06-10 11:28:14 801

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除