修改实体类User,使其继承 extends Model<User>
package com.mp.mpspringboot.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.*;
import java.io.Serializable;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ToString
@TableName("user")//建立User.class和user表的一种关系
public class User extends Model<User> implements Serializable {
private Integer id;
private String name;
private String address;
private Date birth;
//添加数据库不存在的字段,防止报错
@TableField(exist = false)
private String sex;
}
MybatisPlusConfig设置
package com.mp.mpspringboot.config;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
//Spring boot方式
@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
// PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// // paginationInterceptor.setOverflow(false);
// // 设置最大单页限制数量,默认 500 条,-1 不受限制
// // paginationInterceptor.setLimit(500);
// // 开启 count 的 join 优化,只针对部分 left join
// paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
// return paginationInterceptor;
return new PaginationInterceptor();
}
}
UserMapper接口
package com.mp.mpspringboot.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mp.mpspringboot.domain.User;
import org.apache.ibatis.annotations.Mapper;
public interface UserMapper extends BaseMapper<User> {
}
启动器
package com.mp.mpspringboot;
//import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScans;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication
@MapperScan(basePackages = {"com.mp.mpspringboot.mapper"})
public class MpspringbootApplication {
public static void main(String[] args) {
SpringApplication.run(MpspringbootApplication.class, args);
}
}
application.yml
#数据源
spring:
datasource:
#数据源配置
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/crm?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
username: root
password: 123456
#配置mybatisplus
mybatis-plus:
mapper-locations:
classpath: mapper/*Mapper.xml
global-config:
db-config:
id-type: auto
package com.mp.mpspringboot;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mp.mpspringboot.domain.User;
import com.mp.mpspringboot.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Date;
import java.util.List;
@SpringBootTest
class MpspringbootApplicationTestsAr {
@Test
void contextLoads() {
}
@Test
void deleteUser(){
User user=new User();
user.setId(7);
//自己使用自己 不需要传参
user.deleteById();
System.out.println("操作完成");
}
@Test
public void queryForPage(){
}
}