我们要向mysql的表中增加UUID的话分两种情况:
一、建表初期
在建表初期的话我们如果想要增加UUID的话其实很简单,直接增加相应的字段然后在后台生成uuid,并且把uuid的值插入到表中,mysql的默认值不支持函数,所以我们不可以在默认值中设置UUID,只能在后台生成然后插入到表中。例子如下:
<insert id="add" parameterType="AbnormalRcgRecord" useGeneratedKeys="true" keyProperty="id"> insert into AbnormalRcgRecord( id, name, recordTime, uuID1<!-- 直接获取到的uuid的值 --> uuID2<!-- 获取到以后去除uuid中的横线“-” --> ) values( #{id}, #{name}, #{recordTime}, <!-- 直接通过函数获取UUID的值 --> (select UUID() from dual) <!-- 获取uuid的值并且去掉uuid值中的横线“-” --> (select replace(uuid(),'-','') from dual) ) </insert>
二、项目运行中
此时项目已经运行了你表中有很多数据,我们所需要做的就是通过sql脚本为数据表增加uuid字段,并且赋予uuid相应的值,同时在插入语句中生成uuid中并插入表中,例子如下:
//表中增加uuid字段
ALTER TABLE 表名 ADD uuId varchar(255) NOT NULL;
//对现有的数据填充uuid的值
update 表名 set uuId=UUID();
//去除uuid中的横线“-”
update 表名 set uuId=REPLACE(uuId,'-','');
//在有必要的时候我们或许还需要为uuid字段加上唯一性约束
ALTER TABLE 表名 add unique(`uuId`);
执行完成脚本以后我们的表中就有了uuid字段并且填充了响应的值,而后我们需要在mybatis中的插入操作进行如第一种情况一样的更改,即后台生成uuid并插入表中。