请问插入操作时可以运行成功,但是数据库没有插入的那条数据可能是什么原因呢

请问插入操作时可以运行成功,但是数据库没有插入的那条数据可能是什么原因呢

@Test
public void testInsert() throws Exception{
    SqlSession session = null;
    try{
        session = MyBatisUtils.openSession();
        Goods goods=new Goods();
        goods.setTitle("测试商品");
        goods.setSubTitle("测试子标题");
        goods.setOriginalCost(200f);
        goods.setCurrentPrice(100f);
        goods.setDiscount(0.5f);
        goods.setIsFreeDelivery(1);
        goods.setCategoryId(43);
        //insert()方法返回值代表本次成功插入的记录总数
        int num = session.insert("goods.insert",goods);
        session.commit();//提交事务数据
        System.out.println(goods.getGoodsId());
    }catch (Exception e){
        if(session!=null){
            session.rollback();//回滚事务
        }
        throw e;
    }finally {
        MyBatisUtils.closeSession(session);
    }
}
<insert id="insert" parameterType="com.imooc.mybatis.entity.Goods">
    INSERT INTO t_goods(title,sub_title,original_cost,current_price,discount,is_free_delivery,category_id)
    VALUES (#{title}, #{subTitle}, #{originalCost}, #{currentPrice}, #{discount}, #{isFreeDelivery}, #{categoryId})
</insert>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2022-05-28 18:50:01

同学你好,

1、建议同学刷新数据库试一下,看是否有数据添加

2、查看配置文件中是否正确连接到数据库

3、打印输出num值,看控制台对应输出的数据是多少

4、这里也可以根据课程中演示的业务逻辑排查一下

祝学习愉快~

  • 提问者 Itroads #1

    还是没有哎,打印输出的值为2679,但是数据库中只有1743条数据

    2022-05-29 16:55:25
  • 好帮手慕小尤 回复 提问者 Itroads #2

    同学你好,同学打印的是goodId值,则建议同学查看最新的id只是什么。如下所示:

    https://img1.sycdn.imooc.com//climg/629345400979031b16280958.jpg

    祝学习愉快!

    2022-05-29 18:30:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师