因為Oracle數據庫而言 不能夠像SqlServer和MySql一樣主鍵自增
而且MyBatis也沒有提供直接的主鍵自增方法 所以我們自己使用查詢語句來實現自增
實現代碼:
1 <insert id="Method" parameterType="package.Class" useGeneratedKeys="true" flushCache="true"> 2 <selectKey keyProperty="empno" resultType="String" order="BEFORE"> 3 select max(Primarykey)+1 from table_name 4 </selectKey> 5 insert into emp(Primarykey,column1,column2,column3) values(#{Primarykey},#{column1},#{column2},#{column3}) 6 </insert>
我們在insert插入標簽內除了查詢語句以外 還添加了selectKey標簽 他又以下屬性需要必須設置
keyProperty 是指定你持久化類中的主鍵屬性名稱
resultType 是指持久化類中的主鍵屬性類型
order 有兩個屬性 AFTER是指是先執行插入語句 BEFORE是先執行selectKye標簽內的語句
select max(表主鍵列)+每次增長的數量 from 表名