专业做网站的公司有/百度竞价优化排名
有一说一,mybatis-plus确实好用,不愧是plus版本。
无论是基本的CRUD操作,还是基础代码生成工具用起来都很轻松愉快,这里主要是记录分页操作。
mysql的表结构:
编码部分:
1、依赖部分
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1.tmp</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.18</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies>
2、application.yml
yml好用明了,不过稍不注意就容易碰到坑,空格经常被忽略导致报错
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: rooturl: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 这是用于打印sql的配置,不需要就不用
3、创建一个非常简单的实体类,这里用@Data来自lombok,主要是节省了写get和set,代码更加简洁。所有字段需要和数据库一一对应,驼峰命名的字段在数据表中为下划线格式,userName=》user_name
@Data
public class User {private int id;private String userName;private int age;private String sex;
}
4、写一个简单的mapper接口,继承了baseMapper
public interface UserMapper extends BaseMapper <User>{
}
5、想要使用框架提供的分页查询组件,写一个config类即可
@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();return paginationInterceptor;}
}
6、一切就绪,开始编写测试方法。。。也不需要开放接口
@SpringBootTest
class DemoApplicationTests {@Autowiredprivate UserMapper userMapper;@Testvoid contextLoads() {}@Testpublic void searchUserList(){System.out.println("分页查询测试!》》》》》》");IPage<User> userPage = userMapper.selectPage(new Page<>(2,100),null);List<User> listUser = userPage.getRecords(); //List结果集for (User user: listUser){System.out.println(user);}}}
分页查询结果查询结果,数据比较多,第二页就是101-200,总共100条。
也可以看到,后台打印的sql SELECT id,user_name,age,sex FROM user LIMIT ?,?
底层原理还是没变,无非上层封装了
最后:
别忘在启动类上指定mapper,要不然会报错