代码先锋网 代码片段及技术文章聚合

Mybatis-plus保存save并返回对象

技术标签: mybatis  java  开发语言  数据库

我们使用mybatis-plus是使用this.save(pojo)后发现,后面的业务需要用到pojo的id,但是pojo的id是自动生成的,这时候就…,我们可以定义业务层的父接口去实现。上代码

1.定义父接口

import com.baomidou.mybatisplus.extension.service.IService;
public interface IBaseService<T> extends IService<T> {
    /**
     * 保存并返回的方法
     * @param t
     * @return
     */
    T saveAndReturn(T t);
}


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.forum.service.common.IBaseService;
public class IServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M , T> implements IBaseService<T> {
    @Override
    public T saveAndReturn(T t){
        this.saveOrUpdate(t);
        return t;
    }
}

2.业务层sevice

@Service
public interface UserService{
    User saveAndReturnUser(User pt);
}



@Service
@Transactional
public class UserServiceImpl extends IServiceImpl<UserMapper, User> implements UserService {
    @Override
    public User saveAndReturnUser(User pt) {
        this.saveOrUpdate(pt);
        return pt;
    }
    @Override
    public boolean save(User log) {
        log.setCreated(new Timestamp(System.currentTimeMillis()));
        log.setUpdated(new Timestamp(System.currentTimeMillis()));
        return super.save(log);
    }

    @Override
    public boolean saveOrUpdate(User log) {
        if (log.getId() == null) {
            log.setCreated(new Timestamp(System.currentTimeMillis()));
        }
        log.setUpdated(new Timestamp(System.currentTimeMillis()));
        return super.saveOrUpdate(log);
    }

如此一来调用saveAndReturnUser保存就可以返回对象并得到id了,并集修改保存于一体,自动记录了创建和修改时间。

版权声明:本文为weixin_43190539原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43190539/article/details/124734871

智能推荐

earlystopping,torch.save保存模型文件到指定文件夹下并动态命名

earlystopping,torch.save保存模型文件到指定文件夹下并动态命名 问题描述 解决办法 问题描述 神经网络训练过程中可能会发生过拟合问题,采用early stopping的方法,在验证集loss不增加或者负增长之后的几个epoch里面提前终止训练可以有效避免过拟合,在此过程中将生成和保存模型文件。 解决办法...

MybatisPlus保存Json数据

MybatisPlus保存Json数据 接收的json数据里面是数组形式,因此接收格式定义为List; 使用MybatisPlus提供的save方法,xml定义为如下: 需要定义一个Json转换类,查询的时候需要给json格式的数据定义一个typeHandler...

Spring JPA Save()对象后返回该对象ID为0解决办法

springdatajpa是很好用 的一个工具,但是!首先你要会用  今天下午就被一个spring-data-jpa的问题卡了略久,因为想要用MySQL自增id,想要在save之后获取这个保存的实体的id进行后续的工作,一直以为springdatajpa中的save方法执行结束之后,save(entity)中的entity就会自动被更新为保存的entity,但是其实不是这样的,今天用in...

mybatisplus中返回Vo

注意: mybatisplus内置的几个方法使用泛型限制了方法的返回类型, 所以实现返回Vo还是得自定义方法, 这个方法名尽量不要和原有的名字类似 (以免出问题), 采用mybatisplus就是想借用它的wrapper的便利. 另外, 如果不采用vo, 而是直接ss.realname submitterName, ss.title submitterTitle, sa.realname appr...

猜你喜欢

thinkphp base64图片保存并返回路径

用ajax上传图片的base64编码至服务器,然后在控制器中调用$this->saveBase64Image($base64); 返回的code如果等于0,则保存图片成功,路径为['url'];...

Glide加载图片并保存到本地返回file,bitmap

不废话,直接上代码 [java] view plain copy print? import android.content.Context;   import android.content.Intent;   import android.graphics.Bitmap;   import an...

批量插入更新并返回对象

有一种需求叫做:批量插入或更新之后,返回操作后的值  ...