我们可以看到也没有对应的增删改查配置信息出现,因为tk.mybatis已经全部帮我们做好了。
四、实际代码调用过程详解
1.控制类代码
@RestController
public class SampleController implements SampleApi{
private static final Logger logger = LoggerFactory.getLogger(SampleController.class);
@Autowired
private SampleService sampleService;
@Override
public SampleDto echo(SampleDto dto) {
logger.info("#echo {}", dto);
return dto;
}
@Override
public SampleDto getById(@PathVariable(“id”) Long id) {
logger.info("#getById {}", id);
return sampleService.getSample(id);
}
@Override
public Long create(@RequestBody SampleDto dto) {
logger.info("#create {}", dto);
return sampleService.createSample(dto);
}
@Override
public boolean update(@PathVariable(“id”) Long id, @RequestBody SampleDto dto) {
logger.info("#update id={}, dto={}", id, dto);
dto.setId(id);
return sampleService.updateSample(dto);
}
@Override
public boolean delete(@PathVariable(“id”) Long id) {
logger.info("#delete {}", id);
return sampleService.deleteSample(id);
}
@Override
public Page page(@RequestParam(“index”) int index, @RequestParam(value = “size”, defaultValue = “20”) int size) {
logger.info("#page index={}, size={}", index, size);
return sampleService.pageSample(index, size);
}
}
2.服务接口代码
public interface SampleService {
/**
-
创建
-
@pa
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
ram dto {@link SampleDto}
- @return ID
*/
Long createSample(SampleDto dto);
/**
-
更新
-
@param dto {@link SampleDto}
-
@return 是否更新
*/
boolean updateSample(SampleDto dto);
/**
-
删除
-
@param id ID
-
@return 是否删除
*/
boolean deleteSample(Long id);
/**
-
查找
-
@param id ID
-
@return {@link SampleDto},没有相应对象则返回{@code null}
*/
SampleDto getSample(Long id);
/**
-
分页查找
-
@param index 页码下标
-
@param size 每页尺寸
-
@return 分页对象
*/
Page pageSample(int index, int size);
}
3.服务实现类代码
@Service
public class SampleServiceImpl implements SampleService {
private static final Logger logger = LoggerFactory.getLogger(SampleServiceImpl.class);
@Autowired
private IdGenerator idGenerator;
@Autowired
private SampleMainMapper sampleMainMapper;
@Override
@Transactional
public Long createSample(SampleDto dto) {
logger.info("#createSample {}", dto);
Date currentDate = DateUtils.getCurrentDate();
long id = idGenerator.nextId();
SampleMain sampleMain = BeanUtils.copyProps(dto, SampleMain.class);
sampleMain.setId(id);
sampleMain.setGmtCreate(currentDate);
sampleMain.setGmtModified(currentDate);
sampleMain.setDeleted(Boolean.FALSE);
sampleMainMapper.insertSelective(sampleMain);
return id;
}
@Override
@Transactional
public boolean updateSample(SampleDto dto) {
logger.info("#updateSample {}", dto);
Date currentDate = DateUtils.getCurrentDate();
SampleMain sampleMain = BeanUtils.copyProps(dto, SampleMain.class);
sampleMain.setGmtModified(currentDate);
int rows = sampleMainMapper.updateByPrimaryKeySelective(sampleMain);
return rows > 0;
}
@Override
@Transactional
public boolean deleteSample(Long id) {
logger.info("#deleteSample {}", id);
int rows = sampleMainMapper.deleteByPrimaryKey(id);
return rows > 0;