useGeneratedKeys和keyProperty

useGeneratedKeys和keyProperty

userGeneratedKeys = “true” 他的出现是告诉别人你可以获取我的主键了
keyProperty = “bookid” 他的出现是告诉你主键bookid
不使用keyProperty的时候:

   <insert id="insertBookemm">
        insert into book values(null,#{bookname},#{type},#{price})
    </insert>

   /**
     * 添加书籍
     * @return
     */
    void insertBookemm(Book book);



test里的测试方法
   @Test
    public void insertemmm(){
        SqlSession sqlSession =SqlSessions.getSqlSession();
        BookMapper bookMapper = sqlSession.getMapper(BookMapper.class);
        Book book = new Book(null,"且试天下","武侠",90);
        bookMapper.insertBookemm(book);
        System.out.println(book);

    }

在这里插入图片描述
看在不设置keyProperty的时候他是null
在设置了keyProperty之后:

   <insert id="insertBookemm" useGeneratedKeys="true" keyProperty="bookid">
        insert into book values(null,#{bookname},#{type},#{price})
    </insert>

在这里插入图片描述
真的很神奇!!!
在一个就是你不设置和设置他都会插入数据唯一不同的就是第二种方法会把返回值放在book对象的bookid里以此告诉你你不仅插入成功了而且插到那个位子了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值