65、整合mybatisplus
只做增强不做改变
整合
引入starter
<artifactId>mybatis-plus-boot-starter</artifactId>
自动配置生效
MybatisPlusProperties配置类
配置项绑定
sqlsessionfactory配置好了;底层是容器中的数据源
configurationProperties
mapperLocations自动配置好了,有默认值。制定好了sql映射文件的路径
?容器中也自动配置sqlsessionfactory
直接@MapperScan(“com.atguigu.admin.mapper”)批量扫描
定义mapper
//我们的Mapper继承BaseMapper。就可以直接使用已经定义好的方法
测试类
@Autowired
UserMapper userMapper;
@Test
void testUserMapper(){
User user=userMapper.selectById(1L);
log.info(user);
}
@TableField(exist=false)
//代表是表里面的属性
private String userName;
66、补录MP
如果表名变了
user_tbl
@TableName("user_tbl")
接口/实现类
简化service
public interface UserService extends IService<User>{
}
UserServiceImpl
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService{
//Ctrl+F12
}
Controller
@RequestParam(value="pn",defaultValue="1") Integer pn
List<User> list=userService.list();
//model.addAttribute("users",list);
//分页查询数据
Page<User> userPage=new Page<>(1,2);
//分页查询结果
Page<User> page=userService.page(userPage,null);
long current=page.getCurrent();
long pages=page.getPages();
long total=page.getTotal();
model.addAttribute("page",page);
return "table/dynamiv_table";
67、分页数据显示
整合分页插件
添加一个config类
@Configuration
public class MyBatisConfig{
@Bean
public MybatisPlusInterceptor paginnationInteceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor=new PaginationInnerceptor();
paginationInnerInterceptor.setOverflow(true);
mybatisPlusInterceptor.addInterceptor(paginationInnerInterceptor);
return mybatisPlusInterceptor;
}
}
68、删除
@GetMapping("/user/delete/{id}")
public String deleteUser(@PathVariable("id") Long id){
userService.removeById(id);
return "redirect://";
}