mysql,使用useGeneratedKey属性:
& lt; insert id=癷nsertStudent”, parameterType=把?useGeneratedKeys=" true ", keyProperty=皊tudId”比; ,,,INSERT INTO 学生(姓名,电子邮件,电话) ,,,的值(# {name}, # {email}, #{电话}) & lt;/insert>
其他的方式,使用selectKey子标签:
属性顺序=爸啊北硎綧yBatis将取得序列的下一个值作为主键值,并且在执行插入,SQL语句之前将值设置到studId属性上。
& lt; insert id=癷nsertStudent”, parameterType=把北? ,,,& lt; selectKey keyProperty=皊tudId”, resultType=癷nt”,订单=爸啊北? ,,,,,,,SELECT ELEARNING.STUD_ID_SEQ.NEXTVAL 得到双 ,,,& lt;/selectKey> ,,,INSERT INTO 学生(STUD_ID、名称、电子邮件,电话) ,,,的值(# {studId}, # {name}, # {email}, #{电话}) & lt;/insert>
我们也可以在获取序列的下一个值时,使用触发器(触发)来设置主键值,并且在执行插入,SQL语句之前将值设置到主键列上。如果你采取这样的方式,则对应的插入映射语句如下所示:
& lt; insert id=癷nsertStudent”, parameterType=把北? ,,,INSERT INTO 学生(姓名、电子邮件,电话) ,,,的值(# {name}, # {email}, #{电话}) ,,,& lt; selectKey keyProperty=皊tudId”, resultType=癷nt”,订单=爸蟆北? ,,,SELECT ELEARNING.STUD_ID_SEQ.CURRVAL 得到双 ,,,& lt;/selectKey> & lt;/插入