原文链接:https://mp.weixin.qq.com/s?__biz=MzUxNTQyOTIxNA==&mid=2247485158&idx=1&sn=e5ef38a44436b9bf263f68d57fe05b5f&chksm=f9b780d7cec009c194e68f1ddec29939809d519f722eae73406f06d18bb0986eb96644f4e9bf&token=878840602&lang=zh_CN#rd
用法
此时commentAnalyses为Page对象(PageHelper插件包内定义的)
而Page对象继承自JDK中的ArrayList,扩展并封装了一些page相关的字段,如页码,每页大小,总记录数,总页数等。
原理
我们就加了一行,它是如何帮助我们实现分页的呢?请往下看。
PageHelper.startPage做了什么
我们看这一行PageHelper.startPage(pageIndex, pageSize);做了什么。这个类中重载了好多个startPage方法,最终调用到如下的一个方法
可以看到该方法将分页信息作为构造器参数实例化Page对象,调用SqlUtil.getLocalPage()获取一个旧的Page对象,最后调用SqlUtil.setLocalPage(page);把新创建的Page对象set进去。
我们看看这两个方法做了什么。如下,很简单,从ThreadLocal中获取Page对象,将Page对象set到ThreadLocal中。知道ThreadLocal作用的不用多说,不知道的可以理解为用于保存本地变量,并与线程绑定。
看到这我们暂且将这一行的作用记为,创建并保存Page对象(分页信息)到ThreadLocal中。
Page分页信息在哪使用
那么既然保存了,就有使用的地方。
我通过代码追踪的方式定位到被调用的地方,通过回溯,发现是从这个类com.github.pagehelper.dialect.AbstractDialect发起调用的
点进去看了一下,主要是取出Page对象用于做一些判断,或保存page相关的信息。应该后续会涉及到
拦截器
上述AbstractDialect类中的这些方法再回溯,指向了
com.github.pagehelper.util.SqlUtil#doIntercept方法,intercep调用了doIntercep方法,
继续往上追踪来到了com.github.pagehelper.PageHelper#intercept,这是Interceptor接口的方法。
然后是org.apache.ibatis.plugin.Plugin#invoke调用了com.github.pagehelper.PageHelper#intercept。
可以看到PageHelper实现了Interceptor,这个接口是Mybatis官方提供的,中文意思是拦截器,所以有可能是通过实现这个拦截器做了某些操作来实现分页的。
插件
通过代码追踪我们看到Interceptor的intercept方法是在Mybatis的一个org.apache.ibatis.plugin.Plugin类的invoke方法中调用的,而这个Plugin类实现了JDK的java.lang.reflect.InvocationHandler接口,这是JDK代理接口。
这个Plugin中有一个wrap方法会返回一个代理类,所以当调用这个代理类的方法时就会走到上面的invoke方法,就可能会进到拦截器的intercept方法。
所以我们看这个warp在哪调的,就知道啥时候创建这个代理类。就是在上面的PageHelper中,再贴一下代码
拦截器链
而这个PageHelper中的plugin方法是实现自Interceptor拦截器接口,所以会有一个地方统一调这个方法,往上追溯就会发现是在org.apache.ibatis.plugin.InterceptorChain拦截器链中调用的,如下。
该类有一个List保存所有拦截器,还有三个方法,分别是pluginAll用于调用所有拦截器的plugin方法,addInterceptor添加拦截器,getInterceptors获取拦截器链。
看到这大致明白了它的原理,PageHelper通过实现Mybatis的Interceptor接口实现分页,Mybatis通过InterceptorChain调用所有Interceptor。
加载&调用拦截器
那么我们看看Mybatis的拦截器是什么时候添加到拦截器链,什么时候被调用的。
通过代码追溯,发现在Configuration的addInterceptor方法中调用添加方法,Configuration.addInterceptor是在XMLConfigBuilder的pluginElement方法中被调用
而XMLConfigBuilder是解析XML方式的Mybatis的配置的,顾名思义pluginElement方法是解析XML中plugin相关的配置节点的
而我们确实在XML中配置了plugin
所以我们现在知道了mybatis的拦截器是在Mybatis解析配置文件时,解析plugins节点时添加到InterceptorChain中的。
拦截器什么时候调用的。我们看InterceptorChain的pluginAll方法在哪调的,通过代码追踪有如下四个地方调用拦截器链
@Intercepts注解
而PageHelper这个拦截器,我们可以发现这个类上有一个@Intercepts注解,这个注解接收的值为@Signature注解,在Signature注解配置了,Executor.class,query还有四个class:MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class。
了解Mybatis的插件机制的就明白了,这一行配置的意思是拦截Executor中的query方法,方法参数列表类型是MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class,就是下面这个方法。
所以看到这,我们可以断定InterceptorChain的pluginAll方法在上述调用点的第四个,也就是org.apache.ibatis.session.Configuration#newExecutor(org.apache.ibatis.transaction.Transaction, org.apache.ibatis.session.ExecutorType),可想而知newExecutor,也就是创建Executor实例,可以断定,创建Executor时通过PageHelper的plugin方法包装了Executor,返回的是Executor的代理类。下面会讲到创建动态代理。
通过PageHelper创建代理对象
我们在正向回顾一下,如何调到PageHelper的。首先进入到pluginAll
然后会调到PageHelper的plugin方法,内部又调Plugin的warp方法
我们看看Plugin.wrap方法干了啥,代码如下。代码跟过来我们知道现在的target是Executor,interceptor是PageHelper。首先获取PageHelper拦截信息,然后筛选target是否是需要拦截的类型,这里会进入if判断逻辑,返回Executor的代理对象。
所以这时创建的Executor实例是代理对象,那么就会在某个时候调用代理的invoke方法(org.apache.ibatis.plugin.Plugin#invoke),invoke调Interceptor拦截器的intercept方法,从而调PageHelper的intercept方法执行分页逻辑
org.apache.ibatis.plugin.Plugin#invoke ==》 com.github.pagehelper.PageHelper#intercept
拦截器的调用源头-动态代理
因为返回的是Executor的动态代理,所以肯定是调用Executor的某个方法时触发进到invoke方法,具体在哪调的不好找。我们通过打断点的方式看是从哪进invoke方法的,首先断点打到Plugin的invoke方法内
通过调用栈看到是org.apache.ibatis.session.defaults.DefaultSqlSession#selectList(java.lang.String, java.lang.Object, org.apache.ibatis.session.RowBounds)调过来的,在invoke方法内判断了目标方法是不是我们要拦截的方法,因为PageHelper上注解的也是拦截这个方法,所以会进入到Plugin的invoke方法的第61行。所以就会进入到PageHelper的intercept方法,执行具体的拦截逻辑。
分页逻辑
思路就是拼SQL。
通过代码跟踪,最终的分页逻辑是在com.github.pagehelper.util.SqlUtil#doIntercept方法中,第162行,获取分页SQL,
调用
com.github.pagehelper.dialect.AbstractDialect#getPageSql(org.apache.ibatis.mapping.MappedStatement, org.apache.ibatis.mapping.BoundSql, java.lang.Object, org.apache.ibatis.session.RowBounds, org.apache.ibatis.cache.CacheKey)
在com.github.pagehelper.dialect.AbstractDialect#getPageSql(org.apache.ibatis.mapping.MappedStatement, org.apache.ibatis.mapping.BoundSql, java.lang.Object, org.apache.ibatis.session.RowBounds, org.apache.ibatis.cache.CacheKey)中调用com.github.pagehelper.dialect.AbstractDialect#getPageSql(java.lang.String, com.github.pagehelper.Page, org.apache.ibatis.session.RowBounds, org.apache.ibatis.cache.CacheKey),是一个抽象方法,具体实现有好多种
我们看mysql的,在原始SQL 拼接了" limit ?,?"
回到顶部
总结
以上是PageHelper实现分页的原理,总结一下:
Mybatis在四个地方留了扩展点,可以通过自定义拦截器实现Interceptor接口的plugin方法,执行自定义逻辑,可以通过该方法对Executor、ParameterHandler、ResultSetHandler、StatementHandler四个对象进行增强、扩展。
PageHelper实现了Interceptor接口,它的plugin方法调用Plugin.wrap方法对目标对象进行包装,包装成一个代理对象并返回,代理类的实现就是Plugin自身。
Plugin.wrap方法判断目标对象是否需要返回代理对象,判断依据是:Interceptor实现类(这里是PageHelper)上注解标注的类是否包含目标对象所属类。这里PageHelper 上注解标注参数为Executor对象,所以创建Executor对象会返回代理对象。
当调用Executor对象的方法时会进入到 Plugin.invoke 方法。invoke方法会判断是否需要走拦截器的intercept方法,判断方式是取拦截器上的注解标注的方法,这里 PageHelper 标注的为executor.query(四个参数的那个),所以调这个时才会被拦截器拦截,其余方法还用原始对象调用。
PageHelper 的intercept方法调用SqlUtil的intercept方法最终调SqlUtil.doIntercept方法。在这个方法里会执行count语句,并将结果放到page对象里,然后判断需要分页,则将分页sql拼在原始sql上,然后执行。
简单来说就是通过mybatis的拦截器和插件实现的,PageHelper实现了Interceptor拦截器接口,并拦截Executor的query方法,在执行前PageHelper会在原始SQL前拼装分页相关的SQL。
PageHelper支持以下数据库的分页:Db2、Hsqldbt 、Informix、MySq、Oracle 、SqlServer2012、SqlServer
mybatis的插件Plugin是通过JDK动态代理对目标对象进行增强
标签: PageHelper
凡注有"三板富 | 专注于新三板的第一垂直服务平台"或电头为"三板富 | 专注于新三板的第一垂直服务平台"的稿件,均为三板富 | 专注于新三板的第一垂直服务平台独家版权所有,未经许可不得转载或镜像;授权转载必须注明来源为"三板富 | 专注于新三板的第一垂直服务平台",并保留"三板富 | 专注于新三板的第一垂直服务平台"的电头。
- 脂肪粒如何消除视频(脂肪粒如何消除)
- 百达智能拟将持有宁波百秦14%的140万股权转让给宁波源盛 交易价格不超过140万
- 信邦智能:已与广汽丰田、东风日产、比亚迪等客户在新能源行业开展合作-环球关注
- 上海凯宝:公司子公司顺捷医药拥有《医疗器械经营许可证》资质证书 可开拓医疗器械相关领域的业务-焦点观察
- 翰宇药业醋酸加尼瑞克原料药在美获批
- 东方雨虹(002271)龙虎榜数据(11-11)-全球视点
- 博世科:与华友钴业方面签署新能源电池材料回收利用合作协议-世界热文
- 丢掉苹果订单后 歌尔还将失去面包房-每日视讯
- 菲鹏生物携手华润医疗器械 共同打造IVD开放平台生态
- 格林斯达控股股东戴恩平配偶沈娇拟以9.5万的价格向安徽格林斯达环保设备有限公司转让别克牌汽车-关注
- 罗 牛 山:截止2022年9月末 公司生猪存栏数 45.75万头 其中种猪4.20万头-全球要闻
- 美股盘前要点 | 美股盘前走高 美元指数进一步走低 美国金融条件指数单日跌超50基点-当前简讯
- 工信部等部门:支持培育一批智能光伏示范企业-全球百事通
- “第二支箭”支持民营房企发债:美的置业、碧桂园等房企正沟通对接发债注册意向-今日快讯
- 方天股份拟增加与江苏纳邦数字技术有限公司的关联交易额 交易总金额不超过1300万-天天看点
- 湖北能源:拟54亿元投建江陵电厂二期扩建项目及新能源配套项目-当前要闻
- 电子税务局怎样导出财务报表(厦门市电子税务局财务报表在哪里导出)
- 说说心里话!-天天即时看
- 中青宝:拟购买广州宝云100%股权 14日起复牌-环球动态
- 润贝航科与南方航空签署合作项目,前三季度研发投入同比增30%
- 华联医疗拟向银行申请4500万承兑汇票 全资控股子公司提供连带责任担保-全球热推荐
- 雅化集团:拟向DMCC公司采购锂辉石矿产品-每日速看
- 当代置业(01107.HK):重组生效日期预期为11月18日或之前-每日观点
- 速腾聚创公布新一轮战略融资 多个产业投资方齐聚
- 英记茶庄集团(08241)发布中期业绩 净亏损366.1万港元 同比减少23.54%-天天微头条
- 顺鑫农业:拟对5款牛栏山陈酿产品提价-天天快资讯
- 云天化新能源材料项目加速落地 2023年起磷酸铁锂产能将逐步释放-天天信息
- 百达智能拟购买袁迪欢所持有的金百达10%的100万股权 交易完成后公司持有金百达60%股权-世界观天下
- 中科云网(002306.SZ):正与江苏省包括徐州市在内的多地市政府部门洽谈项目执行相关事宜-天天头条
- 京唐城际铁路开始试运行 北京通州至河北唐山最快39分钟
- 花架子什么意思简解(花架子什么意思)
- 北交所将于11月12日开展新增北交所证券类别通关测试-世界焦点
- 大禹节水:联合体收到37亿元江西省梅江灌区项目成交通知书-时快讯
- 南都电源:子公司拟6000万元向关联方购买锂离子电池绿色高效循环利用项目机器设备及无形资产-世界通讯
- 中国奥园10月销售额约9亿元 尚未披露去年年报及今年中报
- 北交所推出融资融券制度
- 十厘米参照物示意图(十厘米)
- 住房公积金上调意味着什么?有哪些好处?-热推荐
- 移为通信(300590.SZ):11.1825万股限制性股票将归属、上市流通-天天精选
- 百胜中国恢复开店步伐 近8个交易日股价涨幅超过20%
- 砍单风波中的歌尔股份-每日视讯
- 公告精选:顺鑫农业拟对5款牛栏山陈酿进行提价;三七互娱拟3亿元-6亿元回购股份-天天热点评
- 中指快评:杭州取消“认房又认贷”,二套首付最低四成-实时
- 中指快评:《天津津城城市更新规划指引(2021—2035年)》公开征求意见-当前热点
- 探寻数字化浪潮下的数字化转型之路-世界快播报
- 中大力德(002896)龙虎榜数据(11-11)-每日时讯
- “10连板”上涨1.6倍!供销社概念股天鹅股份将停牌核查
- 南都电源(300068.SZ):拟开展融资租赁业务、融资合计不超8.7亿元
- 港股创新药ETF(513120)涨4.86%,康希诺生物涨超14%-天天观热点
- 粤海饲料:公司与国内从事水产养殖、水产饲料经销业务的供销社及农民养殖专业合作社有业务合作-当前简讯
- 首届全球数字贸易博览会将在浙江杭州开幕
- 南都电源:子公司拟购买锂离子电池绿色高效循环利用项目资产-每日快播
- 瑞风新能源(00527.HK):已成立合营公司红松新能源(东营)有限公司-世界热头条
- 办理房产证所需要的材料有哪些?房产证土地使用权证办理程序-天天热头条
- 上峰水泥:出资5000万元与傲林科技、南方水泥合资设立建材数智研究院-环球视讯
- 今年双11中小主播日子难过:商家难被割韭菜,免坑位费免佣金抢资源,明星光环也不好使
- 银涛控股(01943.HK)料中期录得亏损净额约1000万-1500万港元-天天观速讯
- 中国金融投资管理(00605.HK)向上市覆核委员会提出覆核有关撤销上市的决定请求-全球报资讯
- 北京特种机械研究所携三大体系亮相中国航展
- 走进深圳坪山生物医药研究院 感受产业创新活力
- 1060显卡吃鸡设置最佳性能(1060显卡吃鸡设置最佳)
- 微信收不到消息(微信收不到消息)
- 河南电气每10股派现0.41元 共计派发现金红利206万
- 孚能科技完成超33亿元定增 为何被三家广州国资企业包揽?-每日消息
- 中达安:公司控制权拟发生变更
- 德联集团(002666.SZ):部分董监高拟合计减持不超84.58万股-天天热议
- 申朴信息每10股派现6.8元 共计派发现金红利2053.26万-焦点观察
- 永成股份权益分派实施 每10股转增2.1股 共计转增210万股-世界聚看点
- 圣邦股份(300661.SZ):荣基香港拟减持不超47.04万股-世界头条
- 鑫宇科技每10股派现3.3元 共计派发现金红利3033.25万-环球热推荐
- PF GROUP(08221)附属太平基业证券授出4600万港元融资贷款-视点
- 注意!怡亚通将于11月28日召开股东大会-最新快讯
- 一顿操作猛如虎 最后便宜两毛八 波司登这种价格套路怎么破?
- 宏景科技(301396)龙虎榜数据(11-11)-当前资讯
- 东方国信:公司有Web3.0底层技术栈储备 包括区块链、云计算、人工智能、数字孪生/元宇宙-观焦点
- 中南文化(002445.SZ):华润信托自6月6日起已累计减持5%股份-天天热资讯
- 信安世纪:拟收购普世科技80%股权 14日起停牌
- 榕基软件跌停 龙虎榜上机构买入5076.33万元 卖出35.88万元-世界讯息
- 隔夜美股史诗级暴涨,港股互联网ETF(513770)大涨超7%!
- 实益达(002137)龙虎榜数据(10-27)-全球消息
- 比优集团(08053)发布中期业绩 股东应占溢利9643.1万元 同比增加12.74%-全球头条
- 大宗交易:联创光电成交892.15万元,折价9.03%(11-11)
- 湖北能源:拟约54亿元投建江陵电厂二期扩建项目及新能源配套项目
- 联君科技每10股派现6.8元 共计派发现金红利1700万-每日焦点
- 什么是阳光工程(什么是阳包阴)
- 酷我音乐vip账号2021(酷我音乐vip账号密码)
- 麦捷科技:比亚迪是公司重点拓展的客户之一
- 百事达注销控股孙公司深圳百思童科技有限公司-焦点报道
- 丰岛食品及子公司以抵押、保证方式向银行合计申请1.34亿授信额度-环球观天下
- 国美1亿持股被冻结,创始人黄光裕夫妇密集套现-今日快讯
- 安道设计拟利用闲置募集资金不超过2000万(含2000万)购买银行理财产品-观点
- 星湖科技:公司目前尚未开通微博
- 恒大深圳湾地块75亿元挂牌转让:处于抵押状态,已停工超1年-环球热闻
- YGM TRADING(00375.HK)盈警:预计中期税后综合亏损2500万港元
- 青海华鼎(600243)龙虎榜数据(11-11)-世界微头条
- 博大新材全资子公司惠州天选拟购买土地使用权 预计总价不超过2300万-环球热推荐
- 小商品城:拟减免小微企业或个体工商户租金
- 川发龙蟒(002312.SZ):就收购重钢矿业49%的股权已完成过户-天天看热讯
- 普门科技(688389.SH):瀚钰生物、瑞普医疗、瑞源成健康拟减持合计不超6%股份-观察
- 聚焦粤港澳大湾区生物医药发展,2022粤港澳大湾区生物医药企业十强揭晓-天天即时看
公司
焦点
精彩推送
- 大港股份(002077)龙虎榜数据(11-11)-环球讯息
- 潮州社保缴费标准基数及比例2022一览表(潮州2022年个人社保缴费标准表)-每日视讯
- 那些加盟连锁咖啡店的人,现在怎么样了?-今日观点
- 大宗交易:长春高新成交207.99万元,折价9.37%(11-11)
- 雅化集团:全资子公司签署锂辉石矿产品承购协议-天天新资讯
- ST大集(000564)龙虎榜数据(11-11)-全球热门
- 青岛胶州“一网统管” 有效破解“停车难”
- 龙津药业(002750)龙虎榜数据(11-11)-全球最资讯
- 天鸿新材拟向浦东发展银行阜阳分行申请专精特新“小巨人”信用贷款 贷款金额总计1000万-全球速讯
- 云浮社保缴费标准基数及比例2022年一览表(2022年个人社保缴费标准表)
- 复盘66只涨停股:天鹅股份10板 众生药业天地板 天下秀炸板回封-天天热文
- 贵阳贵安2023医保怎么缴费?居民医保缴费方式-聚焦
- 金银河(300619.SZ)股东梁可累计减持比例达1.35% 减持数量过半-今日报
- 华峰测控(688200.SH)部分股东及董监高拟合计减持不超1.79万股-环球滚动
- 许家印再卖资产:恒大总部大楼退租一年后,75.43亿转让深圳湾总部地块-环球即时看
- 农民失地保险金如何领取?失地保险金有多少?-环球时讯
- 农民失地保险金怎么领取?有多少钱?
- 多型功勋航天惯导首次亮相中国航展
- 信用卡存款能取出来吗(信用卡存款)
- ST易购:公司苏宁易购广场(百货业态)有美妆、美容相关业态-天天热资讯
- 黑马•产业丨解构聚玻网:数智化重塑玻璃产业链,创立7年营收过百亿-焦点精选
- 天目湖振幅16.43% 机构龙虎榜净卖出4937.51万元
- 光荣之家门牌发放规定河北(光荣之家门牌发放的意义)
- 大港股份今日涨8.21%,上榜营业部席位近3日合计成交12.72亿元-新要闻
- 宁波韵升:参股公司中韵矿业拟收购非洲稀土矿权
- 国网信通:子公司中标3.87亿元国家电网采购项目
- 港股强劲拉升,恒生科技30ETF(513010)大涨5.8%-每日快报
- 深交所:本周对近期涨幅异常的“竞业达”“天地在线”进行重点监控
- 互太纺织(01382)发盈警,预计中期股东应占溢利可能同比下降约28.6%-短讯
- 天鹅股份:公司股价近期波动较大 停牌核查-天天资讯
- 宁波韵升:参股公司以500万美元收购中矿香港稀土100%股份
- 华纳药厂(688799.SH):监事金焰拟减持不超75.9万股
- 好消息!好消息!黄生就市论势本周分享多股止盈,实力杠杠的!-世界资讯
- 科美诊断股东拟合计减持不超9%股份-环球观点
- 龙虎榜丨荣联科技今日涨停 知名游资孙哥净买入4357.57万元-当前快报
- 华密新材“双11”北交所顺利过会:国家级专精特新“小巨人”企业 去年实现净利润4420万元
- 三七互娱拟斥资3亿元至6亿元回购股份 彰显长期信心
- 犀牛午讯:恒大挂牌转让原深圳总部地块 瑞斯康达回应被立案-天天热门
- 天鹅股份:股价异动 停牌核查-当前视点
- 天鹅股份:公司股价近期波动较大 停牌核查-天天速讯
- 华光环能:拟收购汕头益鑫股权并投建澄海益鑫天然气分布式能源项目
- 宁波韵升:参股公司中韵矿业拟收购非洲稀土矿权
- 顺鑫农业:公司部分产品提价
- 时隔5年杭州回归“认房不认贷” 二套首付降至四成-全球今热点
- 11月11日沪深两市主力资金净流入451.23亿元,加仓房地产、医药生物、非银金融-全球速看
- 宏润建设:公司与安徽省新能创业投资有限责任公司投资设立的上海皖宏新能源有限公司已完成工商登记手续
- 若羽臣(003010.SZ):朗姿股份减持比例达1.7887%-世界今日报
- 许家印再卖资产:恒大总部大楼退租一年后,75.43亿转让深圳湾总部地块-热点在线
- 普甜食品(01699):2021年年度业绩将于11月22日刊发 继续停牌
- 信安世纪(688201.SH)筹划增发及现金收购普世科技80%股权事宜 11月14日起停牌
- 外交部:中方出台进一步优化疫情防控工作二十条措施绝不是躺平
- 若羽臣:公司目前未和阿富汗、非洲等地有业务往来
- 微信否认“微信支持撤回5分钟内消息”
- 外交部:美方应该立即停止对中国光伏企业的无理打压-环球热消息
- 南大光电:公司电子特气产品可以应用于chiplet技术工艺-每日讯息
- 良莠不齐怎么读(良莠)
- 协鑫集成:目前芜湖电池项目已经取得项目备案证 确定了项目土地,能评、环评等正在办理中-全球微资讯
- 富士康拟大举扩建印度工厂 未来两年计划新招5.3万名员工
- 中欣氟材:公司主要对京新药业、国邦药业、浙江医药、天宇药业等公司提供医药中间体-环球讯息
- 安记食品(603696.SH):实控人林肖芳以大宗交易减持1.99%的股份-今热点
- 大森控股(01580.HK):财政年度年结日由12月31日变更为3月31日
- 广电运通:公司在Web3.0涉及的区块链、数字货币、NFT等方面拥有技术储备-今亮点
- 北美木制品规模预计在2026年达到24389亿美元-每日精选
- 苏宁家电加盟(苏宁家电)
- 家居卖场“转战”直播做“副业”-当前热门
- 机构:煤电基准价上调,电源均有望获益!电力ETF基金飘红
- 前三季度6家上市定制家居企业净利下滑 大宗业务加持不再?-环球微速讯
- STYLAND HOLD(00211.HK)拟11月25日举行董事会会议 审批中期业绩
- 债转股是否需要验资 债转股对股民是好是坏?
- 天阳科技:北京时间及其一致行动人珠海时间拟清仓减持合计6.94%公司股份
- 医疗保险和商业保险的区别是什么?哪个更好?
- 惠云钛业:上调各型号钛白粉销售价格-天天快讯
- 医保电子凭证亲情账户怎么使用?激活家庭成员流程一览-天天热头条
- 光线传媒控股股东拟减持降低负债,Q3亏损9876万元-环球热点
- 三七互娱:拟斥资3亿元至6亿元回购股份
- 老三板股票在哪里看行情分析 老三板交易费用怎么算?
- 芬兰木材进出口出现大幅缩减-全球动态
- 东方园林:股东何巧女所持4774万股公司股份将被司法拍卖-全球快看
- 75.4亿!原恒大深圳总部地块挂牌,成交款将用于还债-最资讯
- 机构:医药行业有望反转,美诺转债涨超15%!可转债ETF涨近1%-微速讯
- 这届“双11”:主播通宵卖货,但“狂欢”不再-全球信息
- 深圳市抽查家具、人造板等产品34批次不合格
- 合肥社保缴费基数2022是多少?2022年合肥社保一个月要交多少钱?-全球关注
- 场内基金是指什么 场内基金在哪个平台买比较好一点?
- 安井食品(603345.SH):董事长刘鸣鸣、总经理张清苗拟合计减持不超1.6707%股份-环球简讯
- 国网信通(600131.SH)四家子公司共计中标3.87亿元国家电网招标采购项目-实时
- 上海社会保险缴费基数2022下限6520元-环球要闻
- 农民失地保险金有多少?需要哪些资料?-速递
- 热继电器型号(热继电器符号)
- 公积金联名卡有什么用处 没有联名卡怎么提取公积金余额?
- 个人独资企业注册资金最低多少 注册一个空壳公司一年交多少费用合适?
- 优先股是指什么意思 优先股的优缺点是什么?
- 知名英语培训机构全国多个分校突然关门!学员索要学费 老师:我们也是受害者
- 办信用卡哪个银行好批额度高 有什么容易通过的信用卡?
- 收评:三大指数全天放量大涨 两市成交额突破1.2万亿-速读
- 太湖新城污水厂凸显互联互通优势 污水管“长途奔袭”15公里
- Web3.0概念热度不减 天地在线11日斩获9板 公司否认迎合热点概念炒作-世界快消息
- 北向资金净买入146.67亿元,中止连续4日净卖出-今日报
- NTT DATA业务解决方案荣获2022年SAP创新奖
- 新威凌11月11日14时北交所IPO路演: 国内锌粉生产领域龙头企业 打破国外垄断实现进口替代-当前要闻