當向數據庫中插入一條數據的時候,默認是拿不到自增主鍵的值的, 須要設置以下兩個屬性才能夠拿到主鍵值!mysql
設置userGeneratedKeys屬性值爲true:使用自動增加的主鍵。使用keyProperty設置把主鍵值設置給哪個屬性sql
1 <insert id="addEmp" parameterType="com.neuedu.mybatis.bean.Employee" useGeneratedKeys="true" keyProperty="id" databaseId="mysql">
2 insert into tbl_employee(last_name,email,gender) 3 values(#{lastName},#{gender},#{email}) 4 </insert>
一、須要在oracle數據庫中建立自增序列數據庫
create sequence emp_seq
start with 1;mybatis
二、在sql映射文件中配置:oracle
order="BEFORE" :設置selectKey中包含的語句先執行spa
resultType:指定返回類型code
keyProperty:將返回值賦值給指定的列blog
1 <!-- Oracle數據庫獲取主鍵自增 -->
2 <insert id="insert" databaseId="oracle">
3 <selectKey keyProperty="id" resultType="int" order="before">
4 select emp_seq.nextval from dual 5 </selectKey>
6 insert into tbl_emp values(#{id},#{lastName},#{gender},#{email}) 7 </insert>