用mybatis或者springdataJPA插入数据,
如果没有控制,查询的时候响应缓慢,出现两边导入查询的时候这个商品都不在库中,然后都去插入,造成商品重复,除了对商品编码这种字段做唯一索引,还有别的方式吗?
商品拥有唯一性字段(一般用商品条码编号)。
mysql支持
INSERT INTO... ON DUPLICATE KEY UPDATE ...
语法,如果没有则插入,如果有则更新。
方式2:把插入数据使用单独一个线程启动同步,在线程启动时,把这个线程名设置这个数据的唯一标识,
下一次有进入同步的,用这个同步标识名获取JVM所有活跃的线程名,判断这个线程名的线程是否还在运行,如果还在运行就是没插入完,频繁的方式你可以考虑线程池