在我们的开发工作中,我们经常需要进行数据的插入,那么数据的插入如何保证每条数据有个唯一的标识呢?这个时候,我们就需要主键,主键是不可重复的。那么,在mysql和oracle中,我们需要怎么保证插入的数据不重复呢?
在平常的需求开发中,我们经常会使用到mybatis框架。那么,今天就结合mybatis框架,来说说怎么插入主键?怎么保证每条数据的唯一。
1:mysql中使用mybatis的写法:使用主键自增
<insert id="insertUser" parameterType="com.example.model.entity.User" useGeneratedKeys="true" keyProperty="id" keyColumn = "id">
INSERT INTO USER (
username,
PASSWORD,
NAME,
email,
phone,
addr,
state,
CODE
)
VALUES
(
#{username},
#{PASSWORD},
#{name},
#{email},
#{phone},
#{addr},
#{state},
#{CODE})
</insert>
主要有三个参数:
1):useGeneratedKeys="true" 设置主键自增
2):keyProperty="id" 对应的对象
3):keyColumn = "id" 对应的数据库字段,默认对应表的第一个字段。
2:oracle中mybatis的写法:使用序列
创建序列:
create sequence USERIDSEQ
minvalue 1
start with 1
maxvalue 99999999
increment by 1
cache 10
插入语句写法:
<insert id="insertUser" parameterType="com.example.model.entity.User">
INSERT INTO USER (
id,
username,
PASSWORD,
NAME,
email,
phone,
addr,
state,
CODE
)
VALUES
(
USERIDSEQ.NEXTVAL
#{username},
#{PASSWORD},
#{name},
#{email},
#{phone},
#{addr},
#{state},
#{CODE})
</insert>
总结:以上总结了oracle和mysql中插入主键的写法。
知识就是要不断的学习,不断的复习,才会记忆的更加的深刻。加油,美好的风景一直在路上!