1)先構建項目,具體看上2章的操作
spring與Mybatis-plus集成https://blog.csdn.net/qq_37431224/article/details/103976970
springboot與Mybatis-plus集成https://blog.csdn.net/qq_37431224/article/details/104000588
2)在user實體類繼承Model
@Data
//防止基礎Model與Data衝突,使Model的方法被Data覆蓋掉
@EqualsAndHashCode(callSuper=false)
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName(value="sys_user")//建立User.class和數據庫表sys_user的關係
//繼承Model可以實現AR操作
public class User extends Model<User> implements Serializable{
private static final long serialVersionUID=1L;
//@TableId(value="userId")//代表他是主鍵,且value爲表中的名稱
private Integer id;
//@TableField(value="user_name")
private String name;
private String address;
private Date birth;
//如果數據庫表沒有該字段時,orm映射可以忽略該字段,否則映射時報錯
@TableField(exist=false)
private String sex;
}
3)加載Page的Bean
方式1:直接在Config類配置Bean
@SpringBootApplication
@MapperScan(basePackages={"com.demo.mapper"})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
方式2:自定義Mybatis-plus的config類,配置page的Bean
@Configuration
//由於已經有Config配置對象,而@ConditionalOnClass則表示爲該類爲候選Config,在原Config查不到時會到這個Config查詢
@ConditionalOnClass(value={PaginationInterceptor.class})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
4)編寫測試類
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {
@Autowired
private UserMapper userMapper;
@Test
public void testAR(){
User user=new User();
user.setId(1);
user.selectById();
System.out.println(user);
user.setBirth(new Date());
user.updateById();
//分頁
IPage<User> page =new Page<User>(1,5);
user.selectPage(page, null);
List<User> users = page.getRecords();
}
}