springboot整合MyBatis-Plus

10 篇文章 0 订阅
9 篇文章 0 订阅

什么是MyBatis-Plus

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

mybatis plus 官网 :https://baomidou.com/

整合MyBatis-Plus

在pom中添加依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>

mybatis plus 所有的配置类都在MybatisPlusAutoConfiguration中

@Configuration
@ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})
@ConditionalOnSingleCandidate(DataSource.class)
@EnableConfigurationProperties(MybatisPlusProperties.class)
@AutoConfigureAfter({DataSourceAutoConfiguration.class, MybatisPlusLanguageDriverAutoConfiguration.class})
public class MybatisPlusAutoConfiguration implements InitializingBean {
……
}

我们点进MybatisPlusProperties

发现MybatisPlusProperties已经默认给我们配置好了sql的映射文件的路径classpath*:/mapper/**/*.xml,表示任意包的类路径下的所有mapper文件夹下任意路径下的所有xml都是sql映射文件。 建议以后sql映射文件,放在 mapper下。

在这里插入图片描述
接下去我们回到MybatisPlusAutoConfiguration中

发现SqlSessionFactory 自动配置好。底层是容器中默认的数据源;
SqlSessionTemplate容器也自动帮我们配好了
在这里插入图片描述
mybatis-plus和mybtais相比只需要我们的Mapper继承 BaseMapper 就可以拥有crud能力

测试

pojo层

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Blog {
    private Integer id;
    private String title;
    private String author;
    private Date create_time;
    private Integer views;
}

Dao层

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcm.pojo.Blog;
import java.util.List;

@Mapper
public interface BlogDao extends BaseMapper<Blog> {

}

当我们dao层继承了BaseMapper 就可以直接使用curd里,具体原因可以点进BaseMapper 自行查看

当然我们在实际的业务中不能直接去调用dao层 ,需要业务层去调用dao层,所以我们继续编写service层接口

import com.baomidou.mybatisplus.extension.service.IService;
import com.zcm.pojo.Blog;
public interface BlogrService extends IService<Blog> {
}

service层实现类

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zcm.dao.BlogrDao;
import com.zcm.pojo.Blog;
import com.zcm.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class BlogServiceImpl extends ServiceImpl<BlogDao, Blog> implements BlogService {
}

测试类

@SpringBootTest
class SpringbootWebApplicationTests {
    @Autowired
    BlogService blogService;
@Test
    void contextLoads() {
        List<Blog> list = blogService.list();
        for (Blog blog : list) {
            System.out.println(blog);
        }
    }
}

运行成功:
在这里插入图片描述
最后mybatis plus 建议安装 MybatisX 插件

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值