一、导入相应依赖
<!--mybatis plus 启动器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
二、创建实体类
package com.qf.day0414mybatisplus.entity;
import lombok.Data;
@Data//小辣椒插件data表示已经有getsettoStiring方法了
public class User {
private Integer id;
private String name;
private Integer age;
private String email;
}
三、创建Mapper去继承BaseMapper(service层去继承IService 且二者查询方法不一样)
package com.qf.day0414mybatisplus.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qf.day0414mybatisplus.entity.User;
public interface UserDao extends BaseMapper<User> {
}
四、在启动类上 指定要变成实现类德接口所在的包
@MapperScan(value = {"com.qf.day0414mybatisplus.dao","com.qf.day0414mybatisplus.mapper"})
五、在测试类中
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
List<User> users = userDao.selectList(null);
System.out.println(users );
}
六、注解使用
@TableName
描述:表名注解,表示实体类对应德表
使用位置:实体类
@TableName("sys_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
@TableId
- 描述:主键注解
- 使用位置:实体类主键字段
@TableName("sys_user") public class User { @TableId private Long id; private String name; private Integer age; private String email; }
@TableField
- 描述:字段注解(非主键)
@TableName("sys_user") public class User { @TableId private Long id; @TableField("nickname") private String name; private Integer age; private String email; }
七、补充分析
-
分页设置
需在启动类上写一个拦截器
package com.qf.day0414mybatisplus;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
@MapperScan(value = {"com.qf.day0414mybatisplus.dao","com.qf.day0414mybatisplus.mapper"})
public class Day0414mybatisplusApplication {
public static void main(String[] args) {
SpringApplication.run(Day0414mybatisplusApplication.class, args);
}
//分页拦截器
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
测试
@Test
void page(){
Page<Student> page = new Page<>(1, 2);
Page<Student> page1 = iStudentService.page(page);
List<Student> records = page1.getRecords();
System.out.println(records);
}