【尚硅谷springboot学习笔记】整合mybatis和mybatis-plus

学习链接:https://www.bilibili.com/video/BV1Et411Y7tQ

一、整合mybatis

导入依赖

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

配置文件

mybatis:
  type-aliases-package: com.learning.springboot.pojo
  mapper-locations: mapper/*.xml
  configuration:
    # 下面两行开启延迟加载
    aggressive-lazy-loading: false
    lazy-loading-enabled: true
    # 开启二级缓存
    cache-enabled: true
    # 驼峰
    map-underscore-to-camel-case: true

然后就是编写mapper接口,编写mapper.xml文件,这些都太基础了,就不细说了,自动配置类帮我们创建了SqlSessionFactory、SqlSessionTemplate

如果我们使用了@MapperScan,那么我们就不需要在每个Mapper中使用@Mapper注解了。

二、整合mybatis-plus

基本的增删改查都已经写好了,可以简化我们的开发

基础用法

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

编写一个实体类:
可以自己配置映射名称

@Data
@TableName("user")
public class User02 {
    private Integer id;
    @TableField("username")
    private String name;
    private String address;
    private String sex;
    private Date birthday;
}

继承baseMapper就行了,就有基础的CRUD方法了:

@Mapper
public interface UserMapper02 extends BaseMapper<User02> {
}
@SpringBootTest(classes = Application.class)
public class MybatisPlusTest {

    @Autowired
    private UserMapper02 userMapper02;
    @Test
    void test(){
        User02 user02 = userMapper02.selectById(41);
        System.out.println(user02);

    }
}

上面的代码直接就能够查询出结果,很方便,不需要我们写额外的xml了,如果基础的crud不满足条件,我们再自己写xml。

默认mapper文件路径和前缀:
在这里插入图片描述

分页查询

添加分页插件:

@Configuration
public class MybatisConfig {
    
    @Bean
    public MybatisPlusInterceptor paginationInterceptir(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
        return  mybatisPlusInterceptor;
    }
}

对于service,我们只需要继承ServiceImpl即可:

public interface UserService02 extends IService<User02> {
}
@Service
public class UserService02Impl extends ServiceImpl<UserMapper02, User02> implements UserService02 {
}

这里面帮我们定义了大量的方法:
在这里插入图片描述
测试:

    @Test
    void test02(){

        Page<User02> page = new Page<>();
        page.setCurrent(1).setSize(2);
        Page<User02> page1 = userService02.page(page, null);
        // 总页数
        System.out.println(page1.getPages());
        System.out.println(page1.getRecords());
        //总条数
        System.out.println(page1.getTotal());
        System.out.println(page1);
    }

如果我们想要进行条件查询,使用下面的这个对象即可:
在这里插入图片描述
注意,如果中文的like查询不出来,可以参考这个文章,设置一下mysql的url:https://blog.csdn.net/qq_37390527/article/details/106028758

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值