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

网站怎么正确的做内链接深圳20网络推广

网站怎么正确的做内链接,深圳20网络推广,大气ppt模板,大王庄网站建设公司一、Mybatis有没有比较好的方法隐藏 Pojo 类中的字段 使用 Mybatis 时,为了实现通用的CURD,在定义实体类pojo时,会尽量将能用得上的数据库字段都定义到 pojo中,但是在查询的时候却有不一样的需求。mybatis的文档地址链接&#xff…

一、Mybatis有没有比较好的方法隐藏 Pojo 类中的字段

        使用 Mybatis 时,为了实现通用的CURD,在定义实体类pojo时,会尽量将能用得上的数据库字段都定义到 pojo中,但是在查询的时候却有不一样的需求。mybatis的文档地址链接:XML 映射器_MyBatis中文网icon-default.png?t=O83Ahttps://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 version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.test.mapper.EventMapper"><resultMap type="Event" id="SimpleEventList" ><result property="id"    column="ls_id"    /><result property="title"    column="ls_title"    /></resultMap><select id="getEventList" resultMap="SimpleEventList">select 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 的时候直接使用 resultType="map",是能解决问题,而且很简洁,但这又不符合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 上加注解。扩展一点:

二、基于SpringBoot3+mybatis搭建的历史上的今天API接口服务

        历史上的今天API可以提供历史上的今天国际国内发生的各种大事件记录,包括中英文版本内容。历史上的今天的意义在于提醒人们关注过去发生的重要事件和人物,从中汲取经验和教训,更好地理解现在和未来,了解到人类社会的发展历程,认识到历史的演进和进步。非授权用户只能查看10条事件。页面截图如下:

        本API接口基于SpringBoot3 + Mybatis + Mysql开发,整合Swagger3模块,提供历史上的今天发生的事件明细API接口,同时包括阴历阳历日期、中英文事件内容描述。主要提供二个接口:一是根据日期调取历史上发生的事件明细列表;二是根据事件ID调取事件的详细内容描述,包括中英文版本。

        详细请进入网站查看:www.fangha.cn  放哈API接口 ,其中有链接进入此API接口文档。

        如下为历史上的今天事件列表接口示例图,日期格式示例: 12月20日 请输入 1220

        如下为历史上的今天事件详细 API 接口示例截图,提供事件ID参数。

 

http://www.hkea.cn/news/163204/

相关文章:

  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策
  • 一站式做网站哪家强新闻小学生摘抄
  • 江西南昌网站建设公司哪家好谷歌google 官网下载