常用快速开发,快速生成CRUD

Entity,需要注明主键

package com.iwhalecloud.bassc.ncdp.web.test.entity;

import com.iwhalecloud.ids.core.common.pojo.BasePO;

import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;

/**
 * 菜单或界面项.
 * 表现为菜单目录和具体的页面
 * 弹出窗口页面请关联主要业务菜单上(BasiccBfmMenu)实体类
 *
 * @author makejava
 * @since 2022-05-16 10:44:16
 */
public class BasiccBfmMenu extends BasePO implements Serializable {
    private static final long serialVersionUID = -80830249105561636L;
    /**
     * 对应是权限表的权限ID
     */
    @Id
    private Long menuId;
    /**
     * ICON_URL,图标文件对应的URL
     */
    private String iconUrl;
    /**
     * A-在用,X-失效
     */
    private String state;

    private Date stateDate;
    /**
     * 菜单类型,S表示单页类型的菜单,I表示Iframe类型的菜单,F表示flex类型的菜单
     */
    private String menuType;


    public Long getMenuId() {
        return menuId;
    }

    public void setMenuId(Long menuId) {
        this.menuId = menuId;
    }

    public String getIconUrl() {
        return iconUrl;
    }

    public void setIconUrl(String iconUrl) {
        this.iconUrl = iconUrl;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public Date getStateDate() {
        return stateDate;
    }

    public void setStateDate(Date stateDate) {
        this.stateDate = stateDate;
    }

    public String getMenuType() {
        return menuType;
    }

    public void setMenuType(String menuType) {
        this.menuType = menuType;
    }

}


Mapper层

CommonDao

package com.iwhalecloud.bassc.ncdp.web.test.dao;

import tk.mybatis.mapper.additional.insert.InsertListMapper;
import tk.mybatis.mapper.common.Mapper;

/**
 * @Author lijunyun
 * @Date 2022/5/17 17:12
 */
public interface CommonDao <T> extends Mapper<T>, InsertListMapper<T> {

}

BasiccBfmMenuDao

package com.iwhalecloud.bassc.ncdp.web.test.dao;


import com.iwhalecloud.bassc.ncdp.web.test.entity.BasiccBfmMenu;
import org.apache.ibatis.annotations.Mapper;

/**
 * 菜单或界面项.
 * 表现为菜单目录和具体的页面
 * 弹出窗口页面请关联主要业务菜单上(BasiccBfmMenu)表数据库访问层
 *
 * @author makejava
 * @since 2022-05-16 10:44:15
 */
@Mapper
public interface BasiccBfmMenuDao extends CommonDao<BasiccBfmMenu> {


}

Service层

CommonService

package com.iwhalecloud.bassc.ncdp.web.test.service;

/**
 * @Author lijunyun
 * @Date 2022/5/17 16:50
 */

public interface CommonService<T> {

    /**
     * 通过ID查询单条数据
     *
     * @param menuId 主键
     * @return 实例对象
     */
    public T queryById(Long menuId);


    /**
     * 新增数据
     *
     * @param t 实例对象
     * @return 实例对象
     */
    public T insert(T t);

    /**
     * 修改数据
     *
     * @param t 实例对象
     * @return 实例对象
     */
    public T update(T t) ;

    /**
     * 通过主键删除数据
     *
     * @param menuId 主键
     * @return 是否成功
     */
    public boolean deleteById(Long menuId) ;


}

BasiccBfmMenuService

package com.iwhalecloud.bassc.ncdp.web.test.service;


/**
 * 菜单或界面项.
 * 表现为菜单目录和具体的页面
 * 弹出窗口页面请关联主要业务菜单上(BasiccBfmMenu)表服务接口
 *
 * @author makejava
 * @since 2022-05-16 10:44:16
 */
public interface BasiccBfmMenuService {

}

CommonServiceImpl

package com.iwhalecloud.bassc.ncdp.web.test.service.impl;

import com.iwhalecloud.bassc.ncdp.web.test.dao.CommonDao;
import com.iwhalecloud.bassc.ncdp.web.test.service.CommonService;
import com.iwhalecloud.ids.core.common.pojo.BasePO;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * @Author lijunyun
 * @Date 2022/5/16 12:59
 */
public class CommonServiceImpl<T extends BasePO,M extends CommonDao<T>> implements CommonService<T> {

    /**
     * @describe: 自动注入一个Mapper
     * @date 2022/5/16 13:01
     */
    @Autowired
    M m;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public T queryById(Long id) {
        return m.selectByPrimaryKey(id);
    }


    /**
     * 新增数据
     *
     * @param t 实例对象
     * @return 实例对象
     */
    @Override
    public T insert(T t) {
        m.insert(t);
        return t;
    }

    /**
     * 修改数据
     *
     * @param t 实例对象
     * @return 实例对象
     */
    @Override
    public T update(T t) {
        m.updateByPrimaryKeySelective(t);
        return t;
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Long id) {
        return m.deleteByPrimaryKey(id) > 0;
    }

}

BasiccBfmMenuServiceImpl

package com.iwhalecloud.bassc.ncdp.web.test.service.impl;


import com.iwhalecloud.bassc.ncdp.web.test.dao.BasiccBfmMenuDao;
import com.iwhalecloud.bassc.ncdp.web.test.entity.BasiccBfmMenu;
import com.iwhalecloud.bassc.ncdp.web.test.service.BasiccBfmMenuService;
import org.springframework.stereotype.Service;

/**
 * 菜单或界面项.
 * 表现为菜单目录和具体的页面
 * 弹出窗口页面请关联主要业务菜单上(BasiccBfmMenu)表服务实现类
 *
 * @author makejava
 * @since 2022-05-16 10:44:16
 */
@Service("basiccBfmMenuService")
public class BasiccBfmMenuServiceImpl extends CommonServiceImpl<BasiccBfmMenu, BasiccBfmMenuDao> implements BasiccBfmMenuService {


}

Controller层

CommonController

package com.iwhalecloud.bassc.ncdp.web.test.controller;

import com.iwhalecloud.bassc.ncdp.web.test.service.CommonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;

/**
 * @Author lijunyun
 * @Date 2022/5/16 12:51
 */
public class CommonController <T ,S extends CommonService<T>>{


    @Autowired
    S service;

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("{id}")
    public ResponseEntity<T> queryById(@PathVariable("id") Long id) {
        return  ResponseEntity.ok((T) service.queryById(id));
    }

    /**
     * 新增数据
     *
     * @param t 实体
     * @return 新增结果
     */
    @PostMapping
    public ResponseEntity<T> add(T t) {
        return ResponseEntity.ok((T) service.insert(t));
    }

    /**
     * 编辑数据
     *
     * @param t 实体
     * @return 编辑结果
     */
    @PutMapping
    public ResponseEntity<T> edit(T t) {
        return ResponseEntity.ok((T) service.update(t));
    }

    /**
     * 删除数据
     *
     * @param id 主键
     * @return 删除是否成功
     */
    @DeleteMapping
    public ResponseEntity<Boolean> deleteById(Long id) {
        return ResponseEntity.ok(service.deleteById(id));
    }

}


BasiccBfmMenuController

package com.iwhalecloud.bassc.ncdp.web.test.controller;


import com.iwhalecloud.bassc.ncdp.web.test.entity.BasiccBfmMenu;
import com.iwhalecloud.bassc.ncdp.web.test.service.impl.BasiccBfmMenuServiceImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 菜单或界面项.
 * 表现为菜单目录和具体的页面
 * 弹出窗口页面请关联主要业务菜单上(BasiccBfmMenu)表控制层
 *
 * @author makejava
 * @since 2022-05-16 10:44:15
 */
@RestController
@RequestMapping("/basiccBfmMenu")
public class BasiccBfmMenuController extends CommonController<BasiccBfmMenu, BasiccBfmMenuServiceImpl>{


}


总结最后实现的效果

  • 直接看controller层,直接生成了4个接口
    在这里插入图片描述
localhost:8080/basiccBfmMenu/10086
localhost:8080/basiccBfmMenu
localhost:8080/basiccBfmMenu
localhost:8080/basiccBfmMenu?id=10087
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值