复习回顾:
1.mybatis-genetator 逆向工程
mybatis bean/映射文件/配置文件
mybatis半自动的ORM框架–类和表一一映射
1).generatorCOnfig.xml
1.引入数据库的核心jar包()注意版本,高版本兼容低版本)
2.根据自己的需求更改配置信息
2).在pom.xml中导入插件
2.swagger:管理后台请求Controller接口请求的api
1).在pom.xml中导入依赖
2).编写一个配置类,标示要扫描的controller包
3).可以使用注解来标识相关信息
4).访问 ip:port/swagger-ui.html
三.模块设计
1. 对于链接的管理
1). 添加链接:
service层 : 运用spring框架的ioc功能以及 @Autowired标签拿到LinkMapper接口对象,实现service与dao层的连接添加一个link对象到数据库的操作,根据项目需要,对传进来的link进行筛选操作,如果传进来的是一个空对象,那么抛出一个自定义异常给web层来进行处理;如果传进来的对象的id值为空,那么表示这是一个插入的操作,如果id值不为空,那么表示这是一个更新的操作.
package com.example.demo.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.bean.Link;
import com.example.demo.bean.LinkExample;
import com.example.demo.bean.LinkExample.Criteria;
import com.example.demo.mapper.LinkMapper;
import com.example.demo.service.ILinkService;
import com.example.demo.utils.CustomerException;
import com.example.demo.utils.StatusCodeUtil;
/**
* 操作链接的service功能类
* */
@Service//1.放到ioc容器中 2.自动事务管理
public class LinkServiceImpl implements ILinkService {
@Autowired
private LinkMapper linkMapper;//直接从容器中拿接口的实现类对象
@Override
public void saveOrUpdateLink(Link link) throws CustomerException {
//判空处理:参数为引用类型,要做判空处理
if (link==null) {
throw new CustomerException(StatusCodeUtil.ERROR_CODE, "参数为空!!!");
}
if (link.getId()==null) {
//插入
linkMapper.insert(link);
}else {
//更新
linkMapper.updateByPrimaryKey(link);
}
}
@Override
public void deleteLink(Integer id) throws CustomerException {
linkMapper.deleteByPrimaryKey(id);
}
@Override
public List<Link> findLinksByName(String name) throws CustomerException {
name = name == null