Mybatis-Plus分頁查詢
1、匯入依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
2、撰寫組態檔.YML
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/mybatis
driver-class-name: com.mysql.jdbc.Driver
#配置日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3、撰寫持久類
@Data
@AllArgsConstructor
@NoArgsConstructor
public class user implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
@Version//樂觀鎖注解
private Integer version;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
4、撰寫mapper類
@Repository
public interface mapper extends BaseMapper <user> {
}
5、撰寫config配置類
//掃描mapper包
@MapperScan("com.xys.Mapper")
@EnableTransactionManagement
@Configuration//配置類
public class MybatisConfig {
//注冊樂觀鎖插件
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor(){
return new OptimisticLockerInterceptor();
}
//分頁插件
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
6、撰寫handle類
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
//插入時的填充策略
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert info....");
this.setFieldValByName("createTime",new Date(),metaObject);
this.setFieldValByName("updateTime",new Date(),metaObject);
}
//更新時的填充策略
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update info....");
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}
7、分頁查詢
分頁在網站使用的十分之多!
1、原始的limit進行分頁
2、pageHelper第三方插件
3、MP其實也內置了分頁插件!
//測驗分頁查詢
@Test
void testPage(){
Page<user> page=new Page<>(1,5);
mapper.selectPage(page,null);
page.getRecords().forEach(System.out::println);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/306050.html
標籤:其他
上一篇:MySQL45講之主備資料一致性
下一篇:Qt開發經驗小技巧176-180
