Mybatis--insert文
10057 ワード
mybatis挿入 mybatis新規データ mybatisメインキー に戻ります. selectKeyは、メインキー を取得する.コメント@Insert 挿入 は、自己増加キー を返す.は、自己増加キーではない を返します.
<insert id="insert">
insert into sys_user(id,user_name,user_password,user_email,user_info,head_img,create_time)
values(#{id},#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg},#{createTime})
insert>
useGeneratedKeys true ,mybatis JDBC getGeneratedKeys 。
keyProperty id 。 , ,
keyColumn , , keyProperty 。 ,
SQL id #{id}
id
<insert id="insert2" useGeneratedKeys="true" keyProperty="id">
insert into sys_user(id,user_name,user_password,user_email,user_info,head_img,create_time)
values(
#{id},#{userName},#{userPassword},
#{userEmail},#{userInfo},
#{headImg, jdbcType=BLOB},
#{createTime,jdbcType=TIMESTAMP}
)
insert>
mysql:
<selectKey keyColumn="id" resultType="Long" keyProperty="id" order="AFTER">
select last_insert_id()
selectKey>
oracle:
<selectKey keyColumn="id" resultType="Long" keyProperty="id" order="BEFORE">
select SEQ_ID.nextval from dual
selectKey>
sqlserver:
select scope_identity()
<insert id="insert3">
insert into sys_user(id,user_name,user_password,user_email,user_info,head_img,create_time)
values(
#{id},#{userName},#{userPassword},
#{userEmail},#{userInfo},
#{headImg, jdbcType=BLOB},
#{createTime,jdbcType=TIMESTAMP}
)
<selectKey keyColumn="id" resultType="Long" keyProperty="id" order="AFTER">
select last_insert_id()
selectKey>
insert>
@Insert({ "insert into sys_role(id,role_name,enabled,create_by,create_time)"
+ "values(#{id},#{roleName},#{enabled},#{createBy},#{createTime})" })
void insert1(SysRole sysRole);
@Insert({ "insert into sys_role(role_name,enabled,create_by,create_time)"
+ "values(#{roleName},#{enabled},#{createBy},#{createTime})" })
@Options(useGeneratedKeys=true,keyProperty="id")
void insert2(SysRole sysRole);
@Insert({ "insert into sys_role(role_name,enabled,create_by,create_time)"
+ "values(#{roleName},#{enabled},#{createBy},#{createTime})" })
@SelectKey(statement = "select last_insert_id()",
keyProperty = "id",
resultType = Long.class,
before = false
)
void insert3(SysRole sysRole);