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

制作一个网站首页大学生兼职网站开发毕设论文

制作一个网站首页,大学生兼职网站开发毕设论文,国外自助建站免费建站平台,网站服务合同用交印花税吗基于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/14388043/

相关文章:

  • 专门做网站建设的公司wordpress友情链接调用
  • 关于网站建设的总结国外设计网站大全
  • 建设论坛网站需要做什么做网站的软件去哪里买
  • 百度做网站引流做3d教学网站
  • 大余网站建设wordpress获取分类id
  • 网站建设与网页设计ppt四川建筑资质证书查询
  • 游学旅行网站建设策划书wordpress 邮件代发
  • 福建网站建设科技有限公司单位做网站怎么做
  • 网站 建设 函wordpress ck插件
  • 泗县做网站wordpress写接口
  • 建设虚拟网站优化wordpress搜索结果
  • 短视频网站开发网站子页怎么做
  • 百度网站申诉个人能否做网站
  • 新乡模板建站郑州网络安全科技馆
  • 网站建设好么医疗网站备案要怎么做 需要准备什么材料
  • 企业网站设计图片吴江微信网站制作
  • 网站主题定位免费手机h5模板网站模板下载
  • wordpress cms 教程番禺区网站优化
  • 网页广告怎么做免费网站seo排名优化
  • 临沂做网站的公司有哪些腰椎间盘突出压迫神经腿疼怎么治
  • 怎么制作营销网站如何用快站做pc端网站
  • 网站建设销售如何接单网页设计模板百度云
  • 个人备案网站做淘宝客可以用吗搭建平台 能说会写
  • 请问下网站开发怎么弄江苏设计网站电话
  • 找人做海报在什么网站找综合性门户网站有
  • 地方门户网站资讯该怎么做上海有实力的seo推广咨询
  • 网站开发外包公司合同在线做拓扑图的网站
  • 做网站和seo流程Wordpress做物联网
  • 建站教程wp企业网络营销企业网站建设章节习题
  • 手机建站平台微点手赚专门做鞋子的网站有哪些