mybatis使用oracle数据库插入数据主键自增

2019 精帖
0 178

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"



留言(0)
加载更多
猜你喜欢