当前位置: 代码网 > it编程>编程语言>Java > mybatis-plus 自定义 Service Vo接口实现数据库实体与 vo 对象转换返回功能

mybatis-plus 自定义 Service Vo接口实现数据库实体与 vo 对象转换返回功能

2024年08月16日 Java 我要评论
1、自定义service 转换 类public interface iserviceplus extends iservice {/** * 根据 id 查询 * * @param kclass vo

1、自定义service 转换 类

public interface iserviceplus extends iservice {

/**
 * 根据 id 查询
 *
 * @param kclass vo类型
 * @param id     主键id
 */
default <k> k getvobyid(serializable id, class<k> kclass) {
    t t = getbasemapper().selectbyid(id);
    return beanutil.tobean(t, kclass);
}
/**
 * 根据 id 查询
 *
 * @param id        主键id
 * @param convertor 转换函数
 * @param <k>       vo类型
 */
default <k> k getvobyid(serializable id, function<t, k> convertor) {
    t t = getbasemapper().selectbyid(id);
    return convertor.apply(t);
}
/**
 * 查询(根据id 批量查询)
 *
 * @param kclass vo类型
 * @param idlist 主键id列表
 */
default <k> list<k> listvobyids(collection<? extends serializable> idlist, class<k> kclass) {
    list<t> list = getbasemapper().selectbatchids(idlist);
    if (list == null) {
        return null;
    }
    return list.stream()
            .map(any -> beanutil.tobean(any, kclass))
            .collect(collectors.tolist());
}
/**
 * 查询(根据id 批量查询)
 *
 * @param convertor 转换函数
 * @param idlist    主键id列表
 */
default <k> list<k> listvobyids(collection<? extends serializable> idlist,
                                function<collection<t>, list<k>> convertor) {
    list<t> list = getbasemapper().selectbatchids(idlist);
    if (list == null) {
        return null;
    }
    return convertor.apply(list);
}
/**
 * 查询(根据 columnmap 条件)
 *
 * @param kclass    vo类型
 * @param columnmap 表字段 map 对象
 */
default <k> list<k> listvobymap(map<string, object> columnmap, class<k> kclass) {
    list<t> list = getbasemapper().selectbymap(columnmap);
    if (list == null) {
        return null;
    }
    return list.stream()
            .map(any -> beanutil.tobean(any, kclass))
            .collect(collectors.tolist());
}
/**
 * 查询(根据 columnmap 条件)
 *
 * @param convertor 转换函数
 * @param columnmap 表字段 map 对象
 */
default <k> list<k> listvobymap(map<string, object> columnmap,
                                function<collection<t>, list<k>> convertor) {
    list<t> list = getbasemapper().selectbymap(columnmap);
    if (list == null) {
        return null;
    }
    return convertor.apply(list);
}
/**
 * 根据 wrapper,查询一条记录 <br/>
 * <p>结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("limit 1")</p>
 *
 * @param kclass       vo类型
 * @param querywrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.querywrapper}
 */
default <k> k getvoone(wrapper<t> querywrapper, class<k> kclass) {
    return beanutil.tobean(getone(querywrapper, true), kclass);
}
/**
 * 根据 wrapper,查询一条记录 <br/>
 * <p>结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("limit 1")</p>
 *
 * @param convertor    转换函数
 * @param querywrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.querywrapper}
 */
default <k> k getvoone(wrapper<t> querywrapper, function<t, k> convertor) {
    return convertor.apply(getone(querywrapper, true));
}
/**
 * 查询列表
 *
 * @param kclass       vo类型
 * @param querywrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.querywrapper}
 */
default <k> list<k> listvo(wrapper<t> querywrapper, class<k> kclass) {
    list<t> list = getbasemapper().selectlist(querywrapper);
    if (list == null) {
        return null;
    }
    return list.stream()
            .map(any -> beanutil.tobean(any, kclass))
            .collect(collectors.tolist());
}
/**
 * 查询列表
 *
 * @param convertor    转换函数
 * @param querywrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.querywrapper}
 */
default <k> list<k> listvo(wrapper<t> querywrapper, function<collection<t>, list<k>> convertor) {
    list<t> list = getbasemapper().selectlist(querywrapper);
    if (list == null) {
        return null;
    }
    return convertor.apply(list);
}
/**
 * 查询所有
 *
 * @param kclass vo类型
 * @see wrappers#emptywrapper()
 */
default <k> list<k> listvo(class<k> kclass) {
    return listvo(wrappers.emptywrapper(), kclass);
}
/**
 * 查询所有
 *
 * @param convertor 转换函数
 * @see wrappers#emptywrapper()
 */
default <k> list<k> listvo(function<collection<t>, list<k>> convertor) {
    return listvo(wrappers.emptywrapper(), convertor);
}

}

2、接口继承

3、实现vo转换

到此这篇关于mybatis-plus 自定义 service vo接口实现 数据库实体与 vo 对象转换返回的文章就介绍到这了,更多相关mybatis-plus 自定义 service vo接口内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com