批量insertOrUpdate或replace-into使用useGeneratedKeys报错简单分析
在项目中我们经常使用useGenerateKeys来返回自增主键,避免多一次查询。在项目中不管是单条数据插入还是批量数据插入,用此方法获取自增主键ID屡试不爽。当然也会使用on duplicate key update,来进行insertOrUpdate,来避免必须先q ...
生成唯一有序的编号-使用redis
项目中有种场景需要生成唯一、有序、自增编号,因为项目是分布式部署,这使得编号的生成有点麻烦。最后在同事的建议下使用Redis的Hincrby方法来简洁有效的解决这种问题。
java1234567891011public String generateProtocolNo ...
中国历代政治得失-钱穆
关于制度的几个基本观点
制度是由人执行,”制度”和”人事”紧密关联;(想想洋务运动只学习西方先进技术,并不关心技术是怎么产生的;又如辛亥革命前后,人人讲变法,讲革命,太重视学习别人的制度及法规条文,而少于相应的人事安排)(制度是死的,人是活的。死的制度绝不会完全配合上活的人事)
任何一项制度绝不是孤 ...
MySQL做数据批量更新之case-when和replace-into
之前在做数据迁移项目的时候遇到过某些字段在原表中没有,需要在数据迁移完成之后做数据补充工作。这个时候需要对数据库做批量更新操作。我之前用到过”case-when”方式的批量更新,这种方式的sql语句直观上看起来不太易懂,趁着这个契机,在网络上查找前人分享,发现另一种更” ...
ES-5.x之字符串类型Text和Keyword
昨天在做项目的时候,测试人员告诉我项目列表页搜索条件有几个完全不起作用了,搜索数据完全为空,搜不到结果。我第一时间在想是不是项目组哪位大佬误删或在刷数据,经过一番排查后发现问题另有出处 — 原来是ES索引结构出错了,
在El ...
map在put操作时报空指针异常
今天测试给我提了一个bug,是个空指针异常,我一想应该是对象为空时,没有做判断就使用这个对象做某个操作所致。可是在我打开日志时发现竟然出错的地方是条Map做put操作,这是什么鬼…
根据程序报错的位置,找到了报错的最原始语句,通过下图我 ...
数据迁移怎么做?
数据迁移怎么做的?
1、订单表到履约表找字段映射,即两个不同库表先做好数据字段的对应和补齐;
2、代码程序(java)做功能,从一个数据库表中读出数据,然后写到另一个数据库表中;
技术历练点
多线程;
使用线程池:
确定核心线程池的数量;
使用多线程后,怎么精确确定迁移任务结束时间;
使用 ...
ES数据和数据库数据不一致时怎么办?
考虑到ElasticSearch优秀的索引和检索性能,项目中使用ES作为前台搜索引擎,但是在创建和更新ES数据的时候,由于种种原因,可能会出现ES更新失败,造成ES数据和数据库最新真实数据出现不一致的现象。在做项目的过程中整理了一下四种解决方案:
1、开一张表专门记录 ...
数据库全表查询之-分段查询
整体思路为:先查询出全表记录数,然后分段查询。
项目中需要对数据库的一张表做全表查询,开发测试阶段数据量小,使用
java1select count(*) from 'tableName'
查询到时没什么问题 ...
Maven学习之路-jar依赖范围(<scope />)
工作中有时候会在不同的项目组做开发工作,会发现不同的项目启动时间差异较大,有的很快,有的很慢。初步探索项目jar依赖关系,发现有些架包重复引用,这势必造成项目启动加载时间变长。
在Maven依赖中表示对该架包的依赖范围作用域。主要有:tes ...