Mysql中Update和Delete返回值的问题

版权声明:希望能和看到文章的你交个朋友 https://blog.csdn.net/u012954706/article/details/86164121

前言

我们都知道update和delete语句返回的是我们修改的行数,那么在jpa和mybatis中是如果实现的呢,请看下面

当然我们也可以设置为void,这是无所谓的,因为有了返回值(int ,Integer都可以),我不要也可以啊,这与我们自己的业务逻辑有关系

1、jpa



public interface DemoEntityRepository extends CrudRepository<DemoEntity,Long> {
    
    

    /**
     * 更新字段,判断更新了几条数据 ,没有 resultType
     */
    @Modifying
    @Query(value = "update demo_entity d set d.age = d.age +1 where d.name =?1" ,nativeQuery = true)
    Integer jpaUpdateByName( String name) ;



    /**
     * 删除字段,如果是对象删除则不能使用我们 d.*
     * 这和mysql有很大的不一样,mysql 如果使用了变量 d,delete 不使用 d.*是错误的
     * @param name
     * @return
     */
    @Modifying
    @Query(value = "delete d.*  from demo_entity d where d.name = :name",nativeQuery = true)
    Integer jpaDeletByName(@Param("name") String name) ;
//
//    @Modifying 对象映射
//    @Query(value = "delete  from DemoEntity d where d.name = :name")
//    int jpaDeletByName(@Param("name") String name) ;

}


2、mybatis

会发现不能写resultType,如果加上就错了,即使这样,我们还可以让他返回int类型的数据

3.1、mapper



    /**
     * 更新字段,判断更新了几条数据 ,没有 resultType
     */
    Integer mybatisUpdateByName(String name) ;

    Integer mybatisDeletByName(String name) ;


3.2、xml



    <update id="mybatisUpdateByName">
        update demo_entity d set d.age = d.age +1 where d.name = #{name}
    </update>


    <delete id="mybatisDeletByName">
        delete d.* from demo_entity d where d.name = #{name}
    </delete>






感兴趣的,欢迎添加博主微信,

哈,博主很乐意和各路好友交流,如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,备注您的微信或者其他联系方式。添加博主微信哦。


请下方留言吧。可与博主自由讨论哦

微信 微信公众号 支付宝
微信 微信公众号 支付宝

猜你喜欢

转载自blog.csdn.net/u012954706/article/details/86164121