ssm,springboot 插入记录后返回ID,批量插入
分类: Java springboot ssm MySQL 专栏: java springboot ssm Mysql 标签: myibats批量插入
2023-01-02 11:30:34 591浏览
加入标签useGeneratedKeys="true" keyProperty="oid" oid是标的主键id,数据库将其设置为自增长
<insert id="add" parameterType="com.ssm.gf.model.SpAddress" useGeneratedKeys="true" keyProperty="id"> insert into sp_address (aname, cts, is_def,phone,a_add,uid) values(#{aname},#{cts},#{is_def},#{phone},#{a_add},#{uid}) </insert>
注意,这个主键的ID是返回到之前插入的那个作为条件的件对象里的,没必要定义方法的返回值(如果定义了返回值,取出来的也是插入影响的行数)
address.getId()
说明:useGeneratedKeys
取值范围true|false
默认值是:false。
含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。MySQL和SQLServer执行auto-generated key field,因此当数据库设置好自增长主键后,可通过JDBC的getGeneratedKeys方法获取。但像Oralce等不支持auto-generated key field的数据库就不能用这种方法获取主键了
批量插入:
<insert id="addList" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> insert into dt_stu_answer (stu_id,question_id,score_id, stu_answer, stu_score, cts, isright) values <foreach collection="list" item="item" index="index" separator="," close=";"> (#{item.stu_id},#{item.question_id},#{item.score_id},#{item.stu_answer},#{item.stu_score},#{item.cts},#{item.isright} ) </foreach> </insert>
dao层
public void addList(List<DtStuAnswer> li);
注解添加方式
@Insert("insert into et_qtheme (title,cts) values (#{title},#{cts}) ") @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id") public void insert(EtQTheme o);
@Insert("<script> insert into jf_img_log_batch (itype,img,cts,iid,uid ) " + " values " + " <foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\" close=\";\">" + " (#{item.itype},#{item.img},#{item.cts},#{item.iid},#{item.uid}) " + " </foreach>" + " </script>") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") public void insertBatch(List<JfImgLogBatch> list);
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论
您可能感兴趣的博客