MyBatis中配置自动增长

Oracle数据库

<!-- 添加数据(自动增长) -->
	<insert id="insert" parameterType="Employee">
		<selectKey keyProperty="eid" resultType="int" order="BEFORE">
			select seqstudent.nextval from dual
		</selectKey>
		insert into Employee values(#{eid},#{ename},#{sex},#{age},${birth})
	</insert>

Order:表示执行的顺序,before表示在执行下面的添加语句时先执行该段的代码,after表示后执行

SQServer数据

<!-- 添加数据(自动增长) -->
	<insert id="insert" parameterType="Employee">
		<selectKey keyProperty="eid" resultType="int" order="BEFORE">
			select @@identity
		</selectKey>
		insert into Employee values(#{eid},#{ename},#{sex},#{age},${birth})
	</insert>


MySql数据库

方式一:

<!-- 添加数据(自动增长) -->
	<insert id="insert" parameterType="Employee">
		<selectKey keyProperty="eid" resultType="int" order="AFTER">
			select LAST_INSERT_ID()
		</selectKey>
		insert into Employee values(#{eid},#{ename},#{sex},#{age},${birth})
	</insert>

方式二:使用UUID函数生成一个全球唯一的32位数字

<!-- 添加数据(自动增长) -->
	<insert id="insert" parameterType="Employee">
		<selectKey keyProperty="eid" resultType="int" order="BEFORE">
			select UUID()
		</selectKey>
		insert into Employee values(#{eid},#{ename},#{sex},#{age},${birth})
	</insert>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章