springboot框架中service层抽取增删改查并封装

1、BaseService.java

import catl.mapper.BaseMapper;
import tk.mybatis.mapper.entity.Example;

import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;

public abstract class BaseService<T, Id>{

@Resource
BaseMapper baseMapper;

public int save(T t) {
return baseMapper.insertSelective(t);
}


public int saveAll(List<T> list) {
return baseMapper.insertList(list);
}

public int delete(T t) {
return baseMapper.delete(t);
}


public int deleteById(Id id) {
return baseMapper.deleteByPrimaryKey(id);
}


public int update(T t) {
return baseMapper.updateByPrimaryKey(t);
}


public T getById(Id id) {
return (T) baseMapper.selectByPrimaryKey(id);
}


public List<T> getAll() {
return baseMapper.selectAll();
}

public List<T> searchByExample(Example example) {
return Collections.emptyList();
}
}
2、BaseMapper.java
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.special.InsertListMapper;

public interface BaseMapper<T> extends Mapper<T>, InsertListMapper<T> {

}
3、UserMapper.java
import catl.dao.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User>{
}

4、UserService.java
import catl.dao.User;
import org.springframework.stereotype.Service;
@Service
public class UserService extends BaseService<User,String> {

}
5、TestController.java
@Autowired
private UserService userService;

@GetMapping("/test")
@ApiOperation(value = "测试接口", httpMethod = "GET")
public RetInfo test(){
User user = new User();
user.setId("222323");
user.setName("ceshi");
userService.save(user);

return RetInfo.success("新增成功");
}
6、pom文件
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
posted @ 2022-11-14 18:02  Larson#HL  阅读(449)  评论(0)    收藏  举报