使用Intellij编写删除、更新方法时,解决没有实际效果的问题(方法被执行)。

使用内部方法更新删除查找时没有效果的问题。

有时为了方便我们会选择直接使用内部方法insert,delete,update,select来直接实现增删改查,但是这时有些同学会发现这些方法没有起到实质作用,前台没有返回,数据库中的数据没有改变,但是又会发现在日志中能够发现方法已经被调用了(可以参考我的上一篇博客https://blog.csdn.net/liusuxilinyue/article/details/82688323关于AOP拦截方法打印日志的使用)。
结果如下:
这里写图片描述
这里写图片描述
这是因为你是根据类的主键来更新删除查找的,你需要在你的model类中的主键字段添加@Id注解,这样内部方法delete、update、select才会根据你的@Id所标注的主键来查找。

public class Project {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private String id;

    @Id
    @Column(name = "project_sn")
    private String projectSn;

    @Column(name = "project_name")
    private String projectName;

    **省略gettersetter方法**
}

上面代码中我的主键是projectSn,加上@Id,然后再服务层service中便可以使用主键来更新,删除,查找了。

但是你会发现你的数据库中的主键标注的主键是Id,并且通过mybatis工具生成的model中的Project类中自动生成的主键@Id是在Id这一字段中的,只是这不影响你的程序运行,如果你不希望这样不匹配的话,你可以使用SQL语句来实现上面的更新,删除,查找的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值