接上一节修改mybatis 为mybatis-plus
第一步
注释掉mybatis-spring-boot-starter 我们只引入mybatis-plus-boot-starter
<!-- <dependency> -->
<!-- <groupId>org.mybatis.spring.boot</groupId> -->
<!-- <artifactId>mybatis-spring-boot-starter</artifactId> -->
<!-- <version>2.2.2</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
第二步
https://baomidou.com/pages/226c21/#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8%8B
实体类指定数据库映射表。
字段用TableField 映射,数据库没有的 添加 exist = false,字段一致的可以省略。
@Data
@TableName("test_collection")
public class Company {
private String companyId;
private String companyName;
@TableField(exist = false)
private List<WebData> or;
}
第三步修改 dao
继承 BaseMapper
@Mapper
public interface WebDao extends BaseMapper<Company> {
List<Company> findAll(@Param("ids") String[] id);
}
第四步 修改 service
继承 ServiceImpl 实现 IService ,
https://baomidou.com/pages/49cc81/#service-crud-%E6%8E%A5%E5%8F%A3
这里介绍service实现了许多接口
@Service
public class CompanyService extends ServiceImpl<WebDao, Company> implements IService<Company> {
private Logger logger = LoggerFactory.getLogger(CompanyService.class);
@Autowired
WebDao webDao;
// TODO
public List<Company> test() {
logger.info("开始测试");
List<Company> list = webDao.findAll(new String[] { "123456", "444" });
logger.info("测试 list size= {}", list.size());
list.forEach(aa -> {
logger.info("测试 web.size={} aa= {}", aa.getOr().size(), aa.toString());
});
logger.info("测试结束");
return list;
}
}
第五步 修改Controller
添加两个方法 list 和 page
@RestController
@RequestMapping("/t")
public class WebController {
private Logger logger = LoggerFactory.getLogger(WebController.class);
@Autowired
CompanyService companyService;
@RequestMapping("/t")
public List<Company> test() {
return companyService.test();
}
@RequestMapping("/list")
public List<Company> list() {
return companyService.list();
}
@RequestMapping("/page")
public Page<Company> page() {
return companyService.page(new Page<Company>());
}
}
最后访问
image.png image.png image.pngmybatis-plus 对于单表操作提高了开发效率。与jpa有相识之处,处理单表数据CRUD基本可以省略,不用手写了。
网友评论