System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现代码转中文的数据字典动态转义方法技术_技高网

一种实现代码转中文的数据字典动态转义方法技术

技术编号:40420070 阅读:2 留言:0更新日期:2024-02-20 22:38
本发明专利技术公开了一种实现代码转中文的数据字典动态转义方法,包括以下步骤,步骤一、启动Spring MVC:启动Spring MVC上使用注解,并定义要扫描的包信息;步骤二、数据准备:对于大数据量的查询,Spring MVC后端一般会进行分页,只会返回当前分页的数据;本发明专利技术后端不需要进行SQL关联查询,不需要硬编码单独编写转义逻辑,只转义需要显示的数据,其他数据字段不处理,不需要写额外的对象和字段反射机制,支持单JavaBean对象,支持集合,支持复合或嵌套对象,无层级限制,支持单Map类型的对象,支持集合,支持复合或嵌套对象,无层级限制,对于大数据量的查询,Spring MVC后端一般会进行分页,只会返回当前分页的数据并处理当前分页的所显示的数据。

【技术实现步骤摘要】

本专利技术涉及数据字典领域,具体为一种实现代码转中文的数据字典动态转义方法


技术介绍

1、数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、 外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,数据字典是一种用户可以访问地记录数据库和应用程序源数据的目录,主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由dbms自动更新的数据字典,数据字典的主要作用是数据字典和数据流图共同构成系统的逻辑模型,没有流图数据字典难以发挥作用,没有数据字典,数据流图就不严格。在软件开发项目初期就设计一个数据字典,其中包含和项目密切相关的各种结构、类型定义,在开发过程中由项目成员共同维护,它像是一个字典,你可以查询项目中任何你无法理解的各种结构、类型定义、从而最大程度的消除歧义和交流不畅的问题。

2、在日常项目开发中,不免都会用到一些数据字典的信息,以及前端展示的时候通常也需要把这些数据字典值转换成具体字典文本信息。遇到这种场景通常都是后端把字典的文本转换好一起返回给前端,前端只需要直接转换即可,数据字典动态转义,是根据web开发框架springmvc restcontroller 返回处理结果给前端应用,并序列化为json格式的数据时进行转义处理的。

3、然而,目前数据展现中,如代码字段需要显示为对应的中文含义,需要在数据库查询中链接相关的代码表,进行关联查询。对于前端分页的数据,也是先全部关联后在分页,不需要显示的数据,也会进行关联转义,效率很低,对于数据量很大的话会对数据库造成很大的查询压力,同时也无法利用中间件的计算能力。


技术实现思路

1、本专利技术的目的在于提供一种实现代码转中文的数据字典动态转义方法,以解决上述
技术介绍
中提出的目前数据展现中,如代码字段需要显示为对应的中文含义,需要在数据库查询中链接相关的代码表,进行关联查询。对于前端分页的数据,也是先全部关联后在分页,不需要显示的数据,也会进行关联转义,效率很低,对于数据量很大的话会对数据库造成很大的查询压力,同时也无法利用中间件的计算能力的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种实现代码转中文的数据字典动态转义方法,包括以下步骤:

3、步骤一、启动spring mvc:启动spring mvc上使用注解,并定义要扫描的包信息;

4、步骤二、数据准备:对于大数据量的查询,spring mvc后端一般会进行分页,只会返回当前分页的数据;

5、步骤三、调用jackson类库:spring mvc输出响应结果时,默认调用 jackson类库对结果进行序列化为json字符串;

6、步骤四、解析对象处理信息:通过扩展jackson的bearnserializermodifier扩展点,解析处理返回的javabean对象信息;

7、步骤五、数据字典第一次序列化:beanserializermodifier会根据对象每一个属性绑定特定的序列化方法;

8、步骤六、解析是否存在注解:解析是否存在自定义的dictformat注解,如果存在,则绑定字段的字典序列化接口方法,如不存在则保持默认设置;

9、步骤七、数据字典第二次序列化:jackson序列化逻辑会根据字段的绑定序列化方法,依次调用进行序列化;

10、步骤八、注解属性匹配处理:调用dictserviceprovider进行字典序列化方法逻辑值匹配处理,返回字段值所对应的转义值;

11、步骤九、判断字段是否存在:根据注解定义的输出字段属性判断,如果不存在这个字段,则增加新的字段,并写入字段值,如果已存在字段,则覆盖已有字段的值;

12、步骤十、生成字符串:序列化处理结束,生成的json字符串;

13、步骤十一、响应给前端:springmvc将json响应给前端;

14、步骤十二、缓冲转义结果:dictserviceprovider会根据字段的值和数据来源数据集进行判断,将转义的结果存放在缓存中。

15、作为本专利技术的一种优选技术方案,所述步骤五中beanserializermodifier遍历对象所有属性字段。

16、作为本专利技术的一种优选技术方案,所述步骤七中jackson序列化时,如果遇到字典序列化字段,会调用字典序列化方法,进行序列化。

17、作为本专利技术的一种优选技术方案,所述步骤八字典序列化方法逻辑,根据字段注解中定义的字典来源数据集,字典值、字典显示值等注解属性。

18、作为本专利技术的一种优选技术方案,所述步骤十生成的json字符串,将自动包含该注解字段所对应的转义字段和值。

19、作为本专利技术的一种优选技术方案,所述步骤十一响应给前端,前端根据约定的方式,将字段的字典转义值显示在需要位置上完成动态转义处理。

20、作为本专利技术的一种优选技术方案,所述步骤十二将转义的结果存放在缓存中,下次碰到相同的参数和字段,会自动从缓存取出,不用再走原始数据集中取数,优化转义取数性能。

21、与现有技术相比,本专利技术的有益效果是:

22、1. 后端不需要进行sql关联查询,不需要硬编码单独编写转义逻辑,只转义需要显示的数据,其他数据字段不处理,不需要写额外的对象和字段反射机制;

23、2. 支持单javabean对象,支持集合,支持复合或嵌套对象,无层级限制,支持单map类型的对象,支持集合,支持复合或嵌套对象,无层级限制,对于大数据量的查询,spring mvc后端一般会进行分页,只会返回当前分页的数据并处理当前分页的所显示的数据;

24、3. 默认支持多种字典数据来源、系统字典、java枚举类型、json、sql、支持额外扩展数据源接口,利用缓存技术优化查询效率;并提供缓存开关,按需设置,对开发接入成本很低,基本无感,提升开发效率,可以脱离springmvc环境,单独使用。

本文档来自技高网...

【技术保护点】

1.一种实现代码转中文的数据字典动态转义方法,包括以下步骤,其特征在于:

2.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤五中BeanSerializerModifier遍历对象所有属性字段。

3.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤七中Jackson序列化时,如果遇到字典序列化字段,会调用字典序列化方法,进行序列化。

4.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤八字典序列化方法逻辑,根据字段注解中定义的字典来源数据集,字典值、字典显示值等注解属性。

5.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤十生成的json字符串,将自动包含该注解字段所对应的转义字段和值。

6.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤十一响应给前端,前端根据约定的方式,将字段的字典转义值显示在需要位置上完成动态转义处理。

7.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤十二将转义的结果存放在缓存中,下次碰到相同的参数和字段,会自动从缓存取出,不用再走原始数据集中取数,优化转义取数性能。

...

【技术特征摘要】

1.一种实现代码转中文的数据字典动态转义方法,包括以下步骤,其特征在于:

2.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤五中beanserializermodifier遍历对象所有属性字段。

3.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤七中jackson序列化时,如果遇到字典序列化字段,会调用字典序列化方法,进行序列化。

4.根据权利要求1所述的一种实现代码转中文的数据字典动态转义方法,其特征在于:所述步骤八字典序列化方法逻辑,根据字段注解中定义的字典来源数据集,字典值、...

【专利技术属性】
技术研发人员:陈胜张元访孙萦飞汤泽波
申请(专利权)人:江苏富深协通科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1