美文网首页Mybatis-plus
【12.9】boot学习 mybatis-plus 用法

【12.9】boot学习 mybatis-plus 用法

作者: 王滕辉 | 来源:发表于2022-07-04 16:12 被阅读0次

接上一节修改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>());
    }
}

最后访问

http://localhost/t/t

image.png

http://localhost/t/page

image.png

http://localhost/t/list

image.png

mybatis-plus 对于单表操作提高了开发效率。与jpa有相识之处,处理单表数据CRUD基本可以省略,不用手写了。

相关文章

网友评论

    本文标题:【12.9】boot学习 mybatis-plus 用法

    本文链接:https://www.haomeiwen.com/subject/aqidbrtx.html