具体步骤
![76199c993a97a135476ed75122799eb6.png](https://i-blog.csdnimg.cn/blog_migrate/af58396649e2d0ebbc8f13c75c0b58c5.jpeg)
得益于Spring4的新特性,我们可以使用@Autowired注入泛型依赖。
通用Mapper
在MyBatis项目中,引入通用Mapper的依赖,其他配置不变。
tk.mybatis mapper-spring-boot-starter 1.1.4
通用Service
BaseService可以根据实际需求来添加常用的CURD接口方法,例如:
package com.hehe.tools;public class BaseServiceImpl implements BaseService { @Autowired private Mapper mapper;//泛型装配 @Override public List list(T entity) { return mapper.select(entity); } @Override public T get(T entity) { return mapper.selectOne(entity); } @Override public int update(T entity) { return mapper.updateByPrimaryKeySelective(entity); } @Override public int save(T entity) { return mapper.insertSelective(entity); } @Override public int delete(T entity) { return mapper.deleteByPrimaryKey(entity); }}
使用方法
在Mapper接口继承通用Mapper并指定泛型,如下:
public interface UserMapper extends Mapper {}
在Service实现类继承通用Service,如下:
@Servicepublic class UserServiceImpl extends BaseServiceImpl implements UserService {}
最后在Controller 提供RestFul API,如下:
@RestController@RequestMapping("/user/*")public class UserController { @Autowired UserService userService; @RequestMapping("list") public List list(User user) { return userService.list(user); } @RequestMapping("get") public User get(User user) { return userService.get(user); } @RequestMapping("update") public int update(User user) { return userService.update(user); } @RequestMapping("save") public int save(User user) { return userService.save(user); } @RequestMapping("delete") public int delete(User user) { return userService.delete(user); }}
}简单的风格,快开始尝试吧。