【若依】框架:第01讲前后端分离项目

介绍 | RuoYi

一、准备工作

1.IDEA准备

        将下载好的若依项目导入IDEA,导入后配置MAVEN环境,等待下载完成。重点关注ruoyi-admin和ruoyi-system两个文件夹,前者放controller,后者放实体类、mapper、service

2.打开VS Code前端编写

①打开文件夹选择若依前端项目(ruoyi-ui)文件夹

②信任此作者进入

③重点关心src文件夹下的api和views两个文件夹

3.右键以管理员身份启动redis-server服务

上图表示成功启动

4.IDEA启动

【若依】框架:第01讲前后端分离项目_第1张图片

5.VS Code启动

①新建终端

【若依】框架:第01讲前后端分离项目_第2张图片

②下方黑窗口输入口令,只要没有error就算启动成功,报错后可尝试重启电脑,理论上环境变量自动生成

npm install --registry=https://registry.npmmirror.com

【若依】框架:第01讲前后端分离项目_第3张图片

 ③启动服务

npm run dev

【若依】框架:第01讲前后端分离项目_第4张图片

自动弹出若依管理系统表示项目已经启动成功。

【若依】框架:第01讲前后端分离项目_第5张图片

二、后台代码编写

1.在ruoyi-system中创建自己的包basic

【若依】框架:第01讲前后端分离项目_第6张图片

①编写实体类、mapper以及service层代码

实体类

public class Channel extends BaseEntity {
    private String id;  //32位主键ID
    private String channelName;  //栏目名
    private Integer isShow;  //是否显示
    //private Date updateTime; //更新时间,父类中有子类删掉即可

    //手动生成getter和setter

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public Integer getIsShow() {
        return isShow;
    }

    public void setIsShow(Integer isShow) {
        this.isShow = isShow;
    }
}

 mapper

public interface ChannelMapper {
    /**
     * 添加栏目
     * @param channel
     * @return
     */
    public int insertChannel(Channel channel);

    /**
     * 根据ID删除栏目
     * @param id
     * @return
     */
    public int deleteChannelById(String id);

    /**
     * 修改栏目
     * @param channel
     * @return
     */
    public int updateChannel(Channel channel);

    /**
     * 根据ID查询栏目
     * @param id
     * @return
     */
    public Channel selectChannelById(String id);

    /**
     * 根据条件,查询栏目列表
     * @param channel
     * @return
     */
    public List selectChannelList(Channel channel);
}

mapper.xml(basic和system不能同级可以选择打开文件根目录,在mapper文件夹中新建basic文件夹,回到项目刷新即可)




    
        
        
        
        
    

    
        select id,channel_name,is_show,update_time from cms_channel
    

    

    

    
        insert into
            cms_channel (id,channel_name,is_show,update_time)
        values
            (#{id},#{channelName},#{isShow},#{updateTime})
    

    
        delete from cms_channel where id=#{id}
    

    
        update cms_channel
        set channel_name=#{channelName},is_show=#{isShow},update_time=#{updateTime}
        where id=#{id}
    

service层

public interface IChannelService {
    /**
     * 添加栏目
     * @param channel
     * @return
     */
    public int insertChannel(Channel channel);

    /**
     * 根据ID删除栏目
     * @param id
     * @return
     */
    public int deleteChannelById(String id);

    /**
     * 修改栏目
     * @param channel
     * @return
     */
    public int updateChannel(Channel channel);

    /**
     * 根据ID查询栏目
     * @param id
     * @return
     */
    public Channel selectChannelById(String id);

    /**
     * 根据条件,查询栏目列表
     * @param channel
     * @return
     */
    public List selectChannelList(Channel channel);
}

service层实现类

@Service
public class ChannelServiceImpl implements IChannelService {

    @Autowired(required = false)
    private ChannelMapper channelMapper;
    @Override
    public int insertChannel(Channel channel) {
        //id不是自增,需要生成32位主键ID
        String id = UUID.randomUUID().toString().replace("-","");
        channel.setId(id);
        return channelMapper.insertChannel(channel);
    }

    @Override
    public int deleteChannelById(String id) {
        return channelMapper.deleteChannelById(id);
    }

    @Override
    public int updateChannel(Channel channel) {
        return channelMapper.updateChannel(channel);
    }

    @Override
    public Channel selectChannelById(String id) {
        return channelMapper.selectChannelById(id);
    }

    @Override
    public List selectChannelList(Channel channel) {
        return channelMapper.selectChannelList(channel);
    }
}

2.在ruoyi-admin中创建自己的包basic

controller

@RestController
@RequestMapping("/basic/channel")
public class ChannelController extends BaseController {

    @Autowired
    private IChannelService channelService;

    @PostMapping("/add")
    public AjaxResult add(Channel channel){
        int rows = channelService.insertChannel(channel);
        return toAjax(rows);//如果rows > 0就是成功,否则失败
    }

    @DeleteMapping("/remove")
    public AjaxResult remove(String id){
        int rows = channelService.deleteChannelById(id);
        return toAjax(rows);//如果rows > 0就是成功,否则失败
    }

    @PutMapping("/edit")
    public AjaxResult edit(Channel channel){
        int rows = channelService.updateChannel(channel);
        return toAjax(rows);//如果rows > 0就是成功,否则失败
    }

    @GetMapping("/get_info")
    public AjaxResult grtInfo(String id){
        return AjaxResult.success(channelService.selectChannelById(id));
//        Channel channel = channelService.selectChannelById(id);
//        return AjaxResult.success(channel);
    }

    @GetMapping("/list")
    public TableDataInfo list(Channel channel){
        startPage();//分页函数,注意:该函数必须和select语句写在一起
        List channels = channelService.selectChannelList(channel);
        return getDataTable(channels);
    }
}

你可能感兴趣的:(跨端开发,大数据,spring,boot)