1、注册中心zookeeper的安装启动我已经在之前写过
https://blog.csdn.net/weixin_41987553/article/details/81953731
2、改造e3-manager工程结构
1.e3-manager
|--e3-manager-dao
|--e3-manager-interface
|--e3-manager-pojo
|--e3-manager-service(打包方式改为war)
因为要发布服务到注册中心,所以要在e3-manager-service的pom.xml添加dubbo的jar
在配置文件applicationConfig-service.xml中添加约束和注册服务
约束: xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
约束:http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
注册服务(application提供方,address:ip:端口号,暴露接口interface="",引用实现类ref="")
2.e3-manager-web放到e3-manager相同位置,打包方式仍然为war,将表现层工程独立出来,设置parent项目为e3-parent
添加spring和springmvc的jar包的依来,删除e3-mangager-service的依赖,添加dubbo的依赖。修改springmvc.xml,
添加约束,引用服务
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
<!-- 引用dubbo服务 application注册中心服务消费者,reference指被消费的接口(必须跟发布的一致)-->
另外,可以设置服务的响应时间 timeout=1000,默认就是1s
3.mybatis的分页插件PageHelper
使用方法:
a.把PageHelper依赖的jar包添加到工程中,将PageHelp发布到maven仓库,添加jar到parent
b.在mybatis中配置拦截器插件
c.直接使用
1、设置分页信息:
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
//紧跟着的第一个select方法会被分页
List<Country> list = countryMapper.selectIf(1);
2、取分页信息
//分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>,
Page<Country> listCountry = (Page<Country>)list;
listCountry.getTotal();
3、获取分页信息的另一个方法
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
//测试PageInfo全部属性
//PageInfo包含了非常全面的分页属性
assertEquals(1, page.getPageNum());
assertEquals(10, page.getPageSize());
assertEquals(1, page.getStartRow());
assertEquals(10, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(19, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(8, page.getLastPage());
assertEquals(true, page.isFirstPage());
assertEquals(false, page.isLastPage());
assertEquals(false, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());