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

网站名称价格网站建设项目需求概要说明书

网站名称价格,网站建设项目需求概要说明书,做网站图片素材在线编辑,网站域名价格 优帮云一、Mybatis有没有比较好的方法隐藏 Pojo 类中的字段 使用 Mybatis 时#xff0c;为了实现通用的CURD#xff0c;在定义实体类pojo时#xff0c;会尽量将能用得上的数据库字段都定义到 pojo中#xff0c;但是在查询的时候却有不一样的需求。mybatis的文档地址链接#xff…一、Mybatis有没有比较好的方法隐藏 Pojo 类中的字段 使用 Mybatis 时为了实现通用的CURD在定义实体类pojo时会尽量将能用得上的数据库字段都定义到 pojo中但是在查询的时候却有不一样的需求。mybatis的文档地址链接XML 映射器_MyBatis中文网https://mybatis.net.cn/sqlmap-xml.html#Result_Maps 业务中会有不同的人、不同的权限、不同的业务需要读取的字段不尽相同我们不可能为这种大量重复的内容来定义多个类似的 pojo但目前我看 Mybatis 里的方法并没有一个好方法。如下是我将一个业务中拥有十几个字段的表简化一下只呈现三个字段: pojo 类定义了和数据库表相同的字段列表 package cn.fangha.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor public class Event {private Integer id;private String title;private Integer count;} 在定义的 mapper.xml中如果我在一个SQL查询里只想取出 pojo中的两个字段有些地方的介绍说使用 resultMap 定义一下字段关联但进行尝试其根本不会把 pojo 中其它的类除去而只是其值为 null 但字段会依然存在这就有点繁琐。 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecn.test.mapper.EventMapperresultMap typeEvent idSimpleEventList result propertyid columnls_id /result propertytitle columnls_title //resultMapselect idgetEventList resultMapSimpleEventListselect ls_id,ls_title from table limit 2;/select/mapper 并不是说这种情况下没有解决办法但目前所知道的解决办法都是通过非 mybatis 的方法处理比如再定义一些不包括这些字段的 pojo但这个我认为不可取。比如有的说通过在 javaBean 上加注解在序列化的时候忽略此字段但其会影响所有的地方如果这样处理那就直接不要这个pojo属性了 JsonProperty(access JsonProperty.Access.WRITE_ONLY)  JsonProperty(access JsonProperty.Access.WRITE_ONLY)是Jackson库中的注解用于指定在序列化和反序列化过程中属性的访问权限。 JsonProperty(access JsonProperty.Access.WRITE_ONLY)用于标记一个属性在序列化对象转为JSON字符串时忽略该属性只在反序列化JSON字符串转为对象时使用该属性。这意味着该属性的值只能从JSON字符串中读取而不能通过对象转为JSON字符串时输出。 这个注解通常用于保护敏感信息例如密码字段。在用户注册或更新密码时密码字段需要从JSON字符串中读取但在返回用户信息时密码字段不应该被包含在JSON字符串中。 使用JsonProperty(access JsonProperty.Access.WRITE_ONLY)的优势是可以灵活地控制属性的序列化和反序列化行为提高数据的安全性和隐私保护。 也还有一个很简单的解决办法就是不使用映射集在定义 select 的时候直接使用 resultTypemap是能解决问题而且很简洁但这又不符合JAVA的风格和规范在IDEA的编辑器中也会提示返回类型报错。 还有通过对 最后json 处理前操作通过忽略 null 值字段来实现如在配置文件中配置spring中 配置 jackson: default-property-inclusion: non_null1但这就更有点曲线救国了但目前来看这个算是较好的解决方法吧。从而在进行json处理的时候不要这个字段Mybatis造成的问题要在最后进行 json 响应的时候解决。 我认为较好的解决办法是在使用 resultMap 的时候有属性指定范围比如 scope 属性默认值是使用 pojo 的完整字段 然后指定其它值如 current 之类就直接使用当前定义的 resultMap 字段为准忽略 pojo 中其它多余的字段当然这只是一个初步设想可以完善更多的值和意义但这应该是 mybatis 本身应该考虑到的功能目前来看 resultMap 上只有 autoMapping 和 extends 属性。使用一个 extends 继承类似于多个 pojo 实现繁琐上会稍微好些。当下比较好的解决方法还只能是在 javaBean 上加注解。扩展一点 二、基于SpringBoot3mybatis搭建的历史上的今天API接口服务 历史上的今天API可以提供历史上的今天国际国内发生的各种大事件记录包括中英文版本内容。历史上的今天的意义在于提醒人们关注过去发生的重要事件和人物,从中汲取经验和教训,更好地理解现在和未来,了解到人类社会的发展历程认识到历史的演进和进步。非授权用户只能查看10条事件。页面截图如下 本API接口基于SpringBoot3 Mybatis Mysql开发整合Swagger3模块提供历史上的今天发生的事件明细API接口同时包括阴历阳历日期、中英文事件内容描述。主要提供二个接口一是根据日期调取历史上发生的事件明细列表二是根据事件ID调取事件的详细内容描述包括中英文版本。 详细请进入网站查看www.fangha.cn  放哈API接口 其中有链接进入此API接口文档。 如下为历史上的今天事件列表接口示例图日期格式示例 12月20日 请输入 1220 如下为历史上的今天事件详细 API 接口示例截图提供事件ID参数。
http://www.dnsts.com.cn/news/5246.html

相关文章:

  • 腾讯云网站备案流程图大庆网站设计
  • 网站软文推广好处不易重名的公司名字
  • 广州优质网站建设案例刷seo快速排名
  • 如何用电脑主机做网站网站建设定制开发网站设计开发
  • 定制产品网站好的h5网站
  • 长沙百度网站建设手机wap网站开发的cms系统
  • 网站软文推广好处wps做网站
  • 网站开发前端应用程序青海省城乡建设厅网站
  • 太原网站建设注意dw响应式网站模板下载
  • 网站迁移建设方案本地网站做通用会员卡
  • 欧美网站设计特点成都网站建站
  • 俱乐部网站php源码网站站欣赏
  • 郑州建设网站的公司wordpress 默认分页
  • 建企业网站教程元气森林网络营销案例
  • 做本地地旅游网站商城定制开发
  • 企业宣传画册设计公司seo优化上首页
  • 怎么制作网站外链泉州百度竞价开户
  • php网站开发教程培训首页定制
  • 东莞市网站推广山东淄博网络科技有限公司
  • 网站建设企业官网源码衡水市住房和城乡规划建设网站
  • 专门做问卷的调查的网站在线crm系统
  • 做网站有个名字叫小廖网站建设平台开发
  • 国内单页网站重庆如何快速制作一个网站
  • 扬中网站推广导流西安有什么好玩的景点
  • 做网站 需要了解什么微信小程序怎么添加
  • 济宁做网站有哪几家photolux wordpress
  • 制作网站用什么软件网站为什么网页打不开怎么办
  • 建站之星服务器网站设计大概收费范围
  • 深圳 手机网站怎么制作网站链接
  • 三网合一营销型全网站优化什么