Java区分大小写和mysql不区分大小写
在开发的过程中遇到了一个小坑,特此记录。产生问题需求描述: 从第三方获取品牌信息存储到本地数据库中, 获取商品数据时根据品牌名称判断是否已存在,若已存在则同步品牌ID到商品信息中进行存储, 若不存在则先添加商品名称从而获取到品牌ID.数据库中存储第三方名称添加了唯一索引, 因此发现在品牌列表转换map数组中未能通过商品名称key获取到value值时,存储时会出现数据已存在, 不符合唯一索引. 查找问题发现因大小写不同java获取不到value值. 而mysql存储时不区分大小写
不要轻易修改数据库。
解决步骤:
-
在插入品牌名称时全部转换为小写或大写,
//toLowerCase()方法将String转换为小写
//toUpperCase()方法将String转换为大写 -
若想在数据库层面进行处理可直接在字段中设置SET utf8 COLLATE utf8_bin区分大小写