当前位置 博文首页 > 文章内容

    easycode配置成mybatis-plus模板的实现方法

    作者:shunshunshun18 栏目:未分类 时间:2021-09-05 14:45:26

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    本文主要介绍了easycode配置成mybatis-plus模板的实现方法,分享给大家,具体如下:

    entity.java

    ##导入宏定义
    $!define
    ##保存文件(宏定义)
    #save("/entity", ".java")
    ##包路径(宏定义)
    #setPackageSuffix("entity")
    ##自动导入包(全局变量)
    $!autoImport
    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableId;
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.AllArgsConstructor;
    import lombok.Builder;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.io.Serializable;
    import java.util.Date;
    
    
    ##表注释(宏定义)
    #tableComment("表实体类")
    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    @ApiModel("$!{tableInfo.comment}")
    public class $!{tableInfo.name} implements Serializable {
    
    private static final long serialVersionUID = $!tool.serial();
    
    #foreach($column in $tableInfo.fullColumn)
        #if(${column.comment})/**
        * ${column.comment}
        */#end
        #if(${column.comment})@ApiModelProperty(value = "${column.comment}")#end
        #if($column.name.equals('id'))@TableId(type = IdType.AUTO)#end
        private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
        
    #end
    }

    dao.java

    ##导入宏定义
    $!define
    ##设置表后缀(宏定义)
    #setTableSuffix("Mapper")
    ##保存文件(宏定义)
    #save("/mapper", "Mapper.java")
    ##包路径(宏定义)
    #setPackageSuffix("mapper")
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    
    ##表注释(宏定义)
    #tableComment("表数据库访问层")
    public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {
    
    }

    server.java

    ##导入宏定义
    $!define
    ##设置表后缀(宏定义)
    #setTableSuffix("Service")
    ##保存文件(宏定义)
    #save("/service", "Service.java")
    ##包路径(宏定义)
    #setPackageSuffix("service")
    import com.baomidou.mybatisplus.extension.service.IService;
    import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    
    ##表注释(宏定义)
    #tableComment("表服务接口")
    public interface $!{tableName} extends IService<$!tableInfo.name> {
    
    }

    serverImpl.java

    ##导入宏定义
    $!define
    ##设置表后缀(宏定义)
    #setTableSuffix("ServiceImpl")
    ##保存文件(宏定义)
    #save("/service/impl", "ServiceImpl.java")
    ##包路径(宏定义)
    #setPackageSuffix("service.impl")
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
    import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
    import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.stereotype.Service;
    
    ##表注释(宏定义)
    #tableComment("表服务实现类")
    @Slf4j
    @Service
    public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {
    
    }

    controller.java

    ##导入宏定义
    $!define
    ##设置表后缀(宏定义)
    #setTableSuffix("Controller")
    ##保存文件(宏定义)
    #save("/controller", "Controller.java")
    ##包路径(宏定义)
    #setPackageSuffix("controller")
    ##定义服务名
    #set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))
    ##定义实体对象名
    #set($entityName = $!tool.firstLowerCase($!tableInfo.name))
    import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
    import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
    
    
    import io.swagger.annotations.ApiOperation;
    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    import com.baomidou.mybatisplus.core.metadata.IPage;
    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    import com.baomidou.mybatisplus.extension.api.R;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.*;
    
    import java.io.Serializable;
    import java.util.List;
    
    ##表注释(宏定义)
    #tableComment("表控制层[不建议修改,如果有新增的方法,写在子类中]")
    @RestController
    public class $!{tableName} {
      
        /**
         * 服务对象
         */
        @Autowired
        $!{tableInfo.name}Service $!{serviceName};   
      
       /**
         * 分页查询所有数据
         *
         * @param page 分页对象
         * @param $!entityName 查询实体
         * @return 所有数据
         */
        @ApiOperation("分页查询所有数据")
        @GetMapping
        public R<IPage<$!tableInfo.name>>  selectAll(Page<$!tableInfo.name> page, $!tableInfo.name $!entityName) {
            return R.ok ($!{serviceName}.page(page, new QueryWrapper<>($!entityName)));
        }
    
        /**
         * 通过主键查询单条数据
         *
         * @param id 主键
         * @return 单条数据
         */
        @ApiOperation("通过主键查询单条数据")
        @GetMapping("{id}")
        public R<$!tableInfo.name> selectOne(@PathVariable Serializable id) {
            return R.ok($!{serviceName}.getById(id));
        }
    
        /**
         * 新增数据
         *
         * @param $!entityName 实体对象
         * @return 新增结果
         */
        @ApiOperation("新增数据")
        @PostMapping
        public R<Long> insert(@RequestBody $!tableInfo.name $!entityName) {
            boolean rs = $!{serviceName}.save($!entityName);
            return R.ok(rs?$!{entityName}.getId():0);
        }
    
        /**
         * 修改数据
         *
         * @param $!entityName 实体对象
         * @return 修改结果
         */
        @ApiOperation("修改数据")
        @PutMapping
        public R<Boolean>  update(@RequestBody $!tableInfo.name $!entityName) {
            return R.ok($!{serviceName}.updateById($!entityName));
        }
    
        /**
         * 单条/批量删除数据
         *
         * @param idList 主键集合
         * @return 删除结果
         */
        @ApiOperation("单条/批量删除数据")
        @DeleteMapping
        public R<Boolean> delete(@RequestParam("idList") List<Long> idList) {
            return R.ok($!{serviceName}.removeByIds(idList));
        }
    }

    mapper.xml

    ##引入mybatis支持
    $!mybatisSupport
    
    ##设置保存名称与保存位置
    $!callback.setFileName($tool.append($!{tableInfo.name}, "Mapper.xml"))
    $!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper"))
    
    ##拿到主键
    #if(!$tableInfo.pkColumn.isEmpty())
        #set($pk = $tableInfo.pkColumn.get(0))
    #end
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="$!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper">
    
        <resultMap type="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" id="$!{tableInfo.name}BaseResultMap">
    #foreach($column in $tableInfo.fullColumn)
            <result property="$!column.name" column="$!column.obj.name"/>
    #end
        </resultMap>
    </mapper>

    修改签名