MybatisPlus除了通用的Mapper,还有通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MybatisPlus的这种思想,可以自己也实现一些通用的Controller。
一、只有通用的Mapper
下面三个类是我们最开始使用mybatisPlus写法,这样只能通过SysMenuMapper 调用一些通用的方法。
SysMenuMapper
package com.komorebi.mapper;
import com.komorebi.entity.SysMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
public interface SysMenuMapper extends BaseMapper<SysMenu>{
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
SysMenuService
package com.komorebi.service;
import com.komorebi.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
public interface SysMenuService {
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
SysMenuServiceImpl
package com.komorebi.service.impl;
import com.komorebi.entity.SysMenu;
import com.komorebi.mapper.SysMenuMapper;
import com.komorebi.service.SysMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class SysMenuServiceImpl implements SysMenuService {
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
二、通用的Iservice
package com.komorebi.mapper;
import com.komorebi.entity.SysMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
public interface SysMenuMapper extends BaseMapper<SysMenu> {
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
SysMenuService 继承了通用IService
SysMenuService extends IService
package com.komorebi.service;
import com.komorebi.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
public interface SysMenuService extends IService<SysMenu> {
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
service层需要继承IService,当然实现层也要继承对应的实现类ServiceImpl。
package com.komorebi.service.impl;
import com.komorebi.entity.SysMenu;
import com.komorebi.mapper.SysMenuMapper;
import com.komorebi.service.SysMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
讲过上面的定义我们的SysMenuService、SysMenuServiceImpl可以调用一些通用方法。
例如:() =》查询对应SysMenu表的所有信息。
(List) =》参数列表id,返回值SysMenu列表。