在controller自动注入service_SpringBoot 快速整合Mybatis(去XML化+通用Service)

  • Post author:
  • Post category:其他


具体步骤

76199c993a97a135476ed75122799eb6.png

得益于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); }}


}简单的风格,快开始尝试吧。