Mybatis-Plus

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。

1.创建mybatis-plus工程

1.创建数据库表

DROP TABLE IF EXISTS user;

CREATE TABLE user
(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (id)
);
DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

引入mybatis-plus的依赖 不要再引入mybatis的依赖

数据源配置

spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql:///student?useUnicode=true&characterEncoding=UTF8
spring.datasource.druid.username=root
spring.datasource.druid.password=

dao

public interface UserDao extends BaseMapper<User> {
}

主启动类添加扫描dao层。

@SpringBootApplication
@MapperScan(basePackages = "com.dw.dao")
public class SpringbootMpApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootMpApplication.class, args);
    }

}

增删改查

@Test
    void contextLoads() {
        //Wrapper:条件封装类。----null
        //查询所有
        List<User> list = userDao.selectList(null);
        System.out.println(list);
    }
  @Test
    public void delete(){
        int i = userDao.deleteById(2L);
        //这个带就是真实删除  如果想实现逻辑删除则需要给数据库表增加一个新的列isDeleted
    }
@Test
    public void update(){
        //默认使用了动态sql。 增加列 gmt_update  gmt_create
        User user=new User();
        user.setId(1L);
        user.setName("张三"); //如果数据库没有设置默认值。
        userDao.updateById(user);

    }
@Test
    public void select(){
        User user=new User();
        user.setName("李");
        //根据id查询
//        User user = userDao.selectById(2L);
//        System.out.println(user);

        //根据条件查询多条记录Wrapper----子类有QueryWrapper
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.select("name","email");
        //where =  like in between
        //wrapper.eq("name","张三"); //equals
        if(StringUtils.isNotEmpty(user.getName())){
            wrapper.like("name","三");
        }
        if(user.getAge()!=null){
            wrapper.between("age",10,25);
        }
        List list = userDao.selectList(wrapper);
        System.out.println(list);
    }

2、分页查询

创建一个配置类

@Configuration
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

测试

@Test
    public void selectByPage(){
        Page<User> page=new Page<>(1,5);
        page=userDao.selectPage(page,null);
        System.out.println("当前的页码:"+page.getCurrent());
        System.out.println("得到总页码:"+page.getPages());
        System.out.println("总条数:"+page.getTotal());
        System.out.println("当前页码的记录:"+page.getRecords());
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值