当前位置: 首页 > news >正文

单页网站利润沈阳网站推广¥做下拉去118cr

单页网站利润,沈阳网站推广¥做下拉去118cr,前端软件开发工程师,打广告推广怎么做基于Mybatis#xff0c;MybatisPlus实现数据库查询分页功能 目录 基于Mybatis#xff0c;MybatisPlus实现数据库查询分页功能使用Mybatis插件实现分页数据库准备分页插件配置和使用常用数据#xff1a; 使用MybatisPlus插件实现分页数据库准备分页插件配置和使用自定义分页查…基于MybatisMybatisPlus实现数据库查询分页功能 目录 基于MybatisMybatisPlus实现数据库查询分页功能使用Mybatis插件实现分页数据库准备分页插件配置和使用常用数据 使用MybatisPlus插件实现分页数据库准备分页插件配置和使用自定义分页查询 总结 在实际项目开发过程中分页查询功能用的还是比较多的自己也写过不少但每次写也都要翻一些资料故自行整理一篇以备查看 使用Mybatis插件实现分页 使用pagehelper插件实现分页功能 数据库准备 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for t_emp -- ---------------------------- DROP TABLE IF EXISTS t_emp; CREATE TABLE t_emp (eid int(11) NOT NULL AUTO_INCREMENT,emp_name varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,age int(11) NULL DEFAULT NULL,sex char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,email varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,did int(11) NULL DEFAULT NULL,PRIMARY KEY (eid) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 53 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of t_emp -- ---------------------------- INSERT INTO t_emp VALUES (1, 张三, 23, 男, 123qq.com, 1); INSERT INTO t_emp VALUES (2, 李四, 43, 女, 123qq.com, 2); INSERT INTO t_emp VALUES (3, 王五, 12, 女, 123qq.com, 3); INSERT INTO t_emp VALUES (4, 赵六, 54, 男, 123qq.com, 1); INSERT INTO t_emp VALUES (5, 田七, 23, 男, 123qq.com, 2); INSERT INTO t_emp VALUES (11, a, NULL, NULL, NULL, NULL); INSERT INTO t_emp VALUES (12, a, NULL, NULL, NULL, NULL); INSERT INTO t_emp VALUES (13, a1, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (14, a2, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (15, a3, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (16, a1, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (17, a2, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (18, a3, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (19, a1, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (20, a2, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (21, a3, 23, 男, 123qq.com, NULL); INSERT INTO t_emp VALUES (22, a, NULL, NULL, NULL, NULL); INSERT INTO t_emp VALUES (23, a, NULL, NULL, NULL, NULL); INSERT INTO t_emp VALUES (24, a, NULL, NULL, NULL, NULL);SET FOREIGN_KEY_CHECKS 1;分页插件配置和使用 1、添加pom依赖 !-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -- dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper/artifactIdversion5.2.0/version /dependency2、在MyBatis的核心配置文件mybatis-config.xml中配置插件 该插件就是一种拦截器给查询添加Limit限制 plugins!--设置分页插件--plugin interceptorcom.github.pagehelper.PageInterceptor/plugin/plugins!--设置连接数据库的环境--environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLED !-- property namedriver valuecom.mysql.jdbc.Driver/--property namedriver value${jdbc.driver}/ !-- property nameurl valuejdbc:mysql://localhost:3306/mybatis/--property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environments3、创建测试方法测试功能 Testpublic void testPage() {SqlSession sqlSession null;try {InputStream is Resources.getResourceAsStream(mybatis-config.xml);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(is);sqlSession sqlSessionFactory.openSession(true);EmpMapper mapper sqlSession.getMapper(EmpMapper.class);// pageNum5, pageSize4, 表示第五页每页四条数据PageHelper.startPage(5, 4);ListEmp list mapper.selectAll();PageInfoEmp page new PageInfo(list,5);list.forEach(emp - System.out.println(emp));System.out.println(page);} catch (IOException e) {e.printStackTrace();}}4、结果 PageInfo{pageNum5, pageSize4, size4, startRow17, endRow20, total47, pages12, listPage{counttrue, pageNum5, pageSize4, startRow16, endRow20, total47, pages12, reasonablefalse, pageSizeZerofalse}[Emp{eid22, empNamea, agenull, sexnull, emailnull, didnull}, Emp{eid23, empNamea, agenull, sexnull, emailnull, didnull}, Emp{eid24, empNamea, agenull, sexnull, emailnull, didnull}, Emp{eid25, empNamea, agenull, sexnull, emailnull, didnull}], prePage4, nextPage6, isFirstPagefalse, isLastPagefalse, hasPreviousPagetrue, hasNextPagetrue, navigatePages5, navigateFirstPage3, navigateLastPage7, navigatepageNums[3, 4, 5, 6, 7]}常用数据 pageNum当前页的页码pageSize每页显示的条数size当前页显示的真实条数total总记录数pages总页数prePage上一页的页码nextPage下一页的页码isFirstPage/isLastPage是否为第一页/最后一页hasPreviousPage/hasNextPage是否存在上一页/下一页navigatePages导航分页的页码数navigatepageNums导航分页的页码[1,2,3,4,5] 使用MybatisPlus插件实现分页 可见上述Mybatis基于xml配置的方式实现分页还是有些麻烦的。MybatisPlus是对Mybatis的进一步封装和加强因此分页功能会比Mybatis更便捷。测试的SpringBoot目录结构如下 数据库准备 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS user; CREATE TABLE user (id bigint(20) NOT NULL COMMENT 主键ID,name varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 姓名,age int(11) NULL DEFAULT NULL COMMENT 年龄,email varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 邮箱,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO user VALUES (1, Jone, 18, test1baomidou.com); INSERT INTO user VALUES (2, Jack, 20, test2baomidou.com); INSERT INTO user VALUES (3, Tom, 28, test3baomidou.com); INSERT INTO user VALUES (4, Sandy, 21, test4baomidou.com); INSERT INTO user VALUES (5, Billie, 24, test5baomidou.com);SET FOREIGN_KEY_CHECKS 1; 分页插件配置和使用 1、配置分页插件 Configuration // 扫描mapper接口所在的包 MapperScan(com.mystudy.mybatisplus.mapper) public class MyBatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){// 分页插件配置MybatisPlusInterceptor mybatisPlusInterceptor new MybatisPlusInterceptor();mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return mybatisPlusInterceptor;}}2、创建mapper文件 Repository public interface UserMapper extends BaseMapperUser {}这里什么也不需要写继承BaseMapper类即可MybatisPlus提供了默认方法 3、创建测试方法测试功能 SpringBootTest public class PluginsTest {Autowiredprivate UserMapper userMapper;Testpublic void testPage(){// 设置当前页和每页显示的条数即第一页每页三个因此会将前三条记录查出PageUser page new Page(1, 3);userMapper.selectPage(page, null);System.out.println();System.out.println(page.getRecords());System.out.println(page.getTotal());System.out.println(page.getPages());System.out.println(page.hasNext());System.out.println(page.hasPrevious());}}4、查询结果 [User(id1, nameJone, age18, emailtest1baomidou.com), User(id2, nameJack, age20, emailtest2baomidou.com), User(id3, nameTom, age28, emailtest3baomidou.com)] 5 2 true false自定义分页查询 1、自定义查询条件 自定义分页功能通过年龄查询用户信息并分页 Repository public interface UserMapper extends BaseMapperUser {/*** 自定义分页功能通过年龄查询用户信息并分页* param page MybatisPlus提供的分页对象必须位于第一个参数的位置* param age* return*/PageUser selectPageVo(Param(page) PageUser page, Param(age) Integer age);}2、创建xml映射文件与Mybatis方式相同 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.mystudy.mybatisplus.mapper.UserMapper!-- PageUser selectPageVo(Param(page) PageUser page, Param(age) Integer age);--select idselectPageVo resultTypeUserselect id, name, age, email from user where age #{age}/select/mapper这里可以对User进行别名配置在yml配置文件中 mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 配置类型别名所对应的包type-aliases-package: com.mystudy.mybatisplus.pojo可以看到我们并没有在sql语句中写关于分页的信息 3、创建测试方法测试功能 Testpublic void testPageVo(){PageUser page new Page(1, 3);userMapper.selectPageVo(page, 20);System.out.println();System.out.println(page.getRecords());System.out.println(page.getTotal());System.out.println(page.getPages());System.out.println(page.hasNext());System.out.println(page.hasPrevious());}4、查询结果 [User(id3, nameTom, age28, emailtest3baomidou.com), User(id4, nameSandy, age21, emailtest4baomidou.com), User(id5, nameBillie, age24, emailtest5baomidou.com)] 3 1 false false 总结 在真正项目开发中分页功能是必不可少的需要前端向后端传输page和pageSize两个参数我们这里的功能仅作演示因此是写死的。熟能生巧多用多会。
http://www.hkea.cn/news/14458764/

相关文章:

  • 建设的基本流程网站坪地网站建设公司
  • 自己网站wordpress 4.8.2下载
  • 江苏省网站备案电话号码小程序的下载
  • 广西互联网推广百度小程序关键词优化
  • 东台建设局官方网站徽省建设干部学校网站
  • 网站开发与微信对接wordpress允许用户修改文章
  • 扁平化网站布局北京电商网站建设哪家好
  • 泉州台商区建设局网站网站开发汇报ppt
  • 研发网站要多久seo是什么的简称
  • 中山做网站的公司哪家好wordpress主题更新无法创建目录
  • 网站建设费往什么科目搜索附近离得近的
  • 网站建设实训目的网站建设 全包 模板
  • 长春网站设计团队上海优化网站 优帮云
  • 西安建设工程交易中心网站诺邯郸网站建设
  • 海门建设厅网站wordpress小成语
  • 成都网站建设网络公司图书馆管理网站建设logo
  • 长春专业网站建设价格网站小图标怎么制作
  • 工会网站建设管理工作总结广告传媒建设网站
  • 工业制品网站建设专业网站建设公司推荐
  • 青海商会网站建设公司开封网站设计价格
  • 怎么在百度上能搜到自己的网站百度商品推广平台
  • 南京的电商网站设计传奇来了网页版
  • 网站费用清单做网站要会写什么软件
  • 元谋县建设局网站网站开发的软硬件环境
  • 手工艺品网站建设目的免费手机网站商城
  • 长沙 网站设计 公司清理wordpress头部
  • 营销网站科技微信里面的小程序
  • 微信做网站支付工具网站怎么建设可以发图评论
  • 成都市建设网站首页用vue做pc端网站好吗
  • 住房和城乡建设部的网站网络架构师报考条件