mybatis使用oracle数据库插入数据主键自增
硅谷探秘者
2019-05-16发表
0
0
1911
service层
@Override
public void insert() {
// TODO Auto-generated method stub
Map<String,Object> map=new HashMap<String, Object>();
map.put("id",null);
map.put("name","sdsdf");
map.put("password","123");
loginMapper.insert(map);
loginMapper.insert(map);
}
dao层
public void insert(Map<String, Object> map);
首先要在数据库中创建序列,否则将会报错序列不存在
create sequence regist_seq start with 1 increment by 1;
mapper.xml配置文件
<insert id="insert" parameterType="map" useGeneratedKeys="true" keyProperty="id">
<selectKey resultType="int" order="BEFORE" keyProperty="id">
SELECT regist_seq.NEXTVAL as id FROM dual
</selectKey>
INSERT INTO ABC_TEST (ID, NAME, PASSWORD) VALUES (#{id},#{name}, #{password})
</insert>
插入数据的时候会先向数据库中查询序列,实现自增
keyProperty="id"//实体类中的id
实现插入数据返回主键
useGeneratedKeys="true" keyProperty="id"