Mybatis-Plus使用AR(Active Record)(三)

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();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章