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

六盘水南宁网站建设网页制作与网站开发 实验报告

六盘水南宁网站建设,网页制作与网站开发 实验报告,中国纪检监察报官网,德州市建设街小学网站文章目录 1.业务背景每个对象里面都带上了重复的一个sessionId数据,我想提出来该怎么办? 2.实体类3.自定义Mapper和xml文件4.Service层5.Controller层 1.业务背景 业务场景中,一个会话中存在多个场景,即一个session_id对应多个sc…

文章目录

  • 1.业务背景
    • 每个对象里面都带上了重复的一个sessionId数据,我想提出来该怎么办?
  • 2.实体类
  • 3.自定义Mapper和xml文件
  • 4.Service层
  • 5.Controller层


1.业务背景

业务场景中,一个会话中存在多个场景,即一个session_id对应多个scene_id和scene_name

如果你写成如下的聚合模型类

public class SceneVO {private String sessionId;private String sceneId;private String sceneName;// 省略对应的getter和setter方法
}

返回的List形式如下,这个数据在data属性中

{"data":[{"sessionId": "jksadhjksd","sceneId":"NDJWKSDSJKDKED","sceneName":"场景1"},{"sessionId": "jksadhjksd","sceneId":"KLJSDJKLSDFALK","sceneName":"场景2"},{"sessionId": "jksadhjksd","sceneId":"KERFJKOVDJKDSS","sceneName":"场景3"}]
}

每个对象里面都带上了重复的一个sessionId数据,我想提出来该怎么办?

我想改为如下形式,sessionId提出到外层,更能体现出一个sessionId对应多个sceneId和sceneName的含义,这样也便于前端取数据,不然每个对象都要增加一个sessionId属性,太麻烦。

{"data": {"sessionId": "jksadhjksd","sceneList": [{"sceneId":"NDJWKSDSJKDKED","sceneName":"场景1"},{"sceneId":"KLJSDJKLSDFALK","sceneName":"场景2"},{"sceneId":"KERFJKOVDJKDSS","sceneName":"场景3"}]}
}

2.实体类

方法如下,首先创建两个实体类。

public class SceneVO {private String sessionId;private List<SubSceneVO> sceneList;// 省略对应的getter和setter方法
}
public class SubSceneVO {private String sceneId;private String sceneName;// 省略对应的getter和setter方法
}

3.自定义Mapper和xml文件

public interface BusinessScenesCustomMapper {SceneVO selectBySessionId(String sessionId);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="你的包名.mapper.BusinessScenesCustomMapper"><resultMap id="BaseResultMap" type="你的包名.vo.SceneVO"><result column="session_id" jdbcType="VARCHAR" property="sessionId"/><!--collection 标签:用于定义关联的list集合类型的封装规则property:对应父类中list属性名,这里SceneVO类里的List变量名为sceneListofType:集合存放的类型,List集合要装的类的类名,这里是SubSceneVO--><collection property="sceneList" ofType="你的包名.vo.SubSceneVO"><result column="scene_id" jdbcType="VARCHAR" property="sceneId"/><result column="scene_name" jdbcType="VARCHAR" property="sceneName"/></collection></resultMap><!-- 一个session_id对应多条记录,返回的是SceneVO对象,SceneVO对象有一个List装着SubSceneVO  --><select id="selectBySessionId" parameterType="string" resultMap="BaseResultMap">select session_id, scene_id, scene_namefrom 表名where session_id = #{sessionId,jdbcType=VARCHAR}</select>
  • collection标签: 用于定义关联的List集合类型的封装规则
  • property属性: 对应父类中List集合的变量名,这里SceneVO类里的List变量名为sceneList
  • ofType属性: 集合存放的类型,List集合要装的类的类名,这里是SubSceneVO

4.Service层

public interface SceneService {/*** 获取场景信息*/SceneVO getScenesInfo(String sessionId);
}
@Service
public class SceneServiceImpl {@Resourceprivate BusinessScenesCustomMapper businessScenesCustomMapper;......public SceneVO getScenesInfo(String sessionId) {return businessScenesCustomMapper.selectBySessionId(sessionId);}
}

5.Controller层

......
@Resource
private SceneService sceneService;@GetMapping("/getScenesInfo")
public ResModel getScenesInfo(String sessionId) {SceneVO sceneVO = sceneService.getScenesInfo(sessionId);return ResModel.ok(sceneVO);
}
http://www.yayakq.cn/news/98398/

相关文章:

  • 做钢结构网站有哪些创建免费网站需要什么条件
  • wordpress网站被拒登推广点击器
  • 速橙科技有限公司网站建设学校网站欣赏中文
  • 没有建网站怎样做网销长沙seo排名优化公司
  • 拼多多开网店无货源怎么上货昆明网站seo报价
  • 南宁大型网站开发网站开发工作进度表
  • 建设银行网站注册汕头网络推广哪里找
  • 锡林郭勒盟工程建设造管理网站python浪漫星空代码
  • 购物网站介绍asp网站开发 知识
  • 黄埔网站建设阿里巴巴网站怎么做全屏大图
  • 做网单哪个网站最好用如何布置网站
  • 专题型定制网站建设ui培训机构排行榜
  • 网站建设幻灯片背景图片素材企业安全文化建设中的安全承诺是指
  • 网店网站模板WordPress的cms
  • app营销型网站的特点信用门户网站建设规范
  • 公司网站开发语言关键词快速排名平台
  • 淮南公司网站建设大兴德艺网站建设
  • 肇庆市电商网站建设价格谷歌seo网站运营
  • 微信h5游戏网站建设京东网站建设步骤
  • 域名备案查询 网站备案查询北京最大的网站建设有限公司
  • 佛山网站排名推广wordpress页面布局
  • 成都建设网站哪个好网站建设3lue
  • wordpress如何去掉amp站长工具之家seo查询
  • 张家口网站建设zjktao网站商品展示页怎么做的
  • 游戏音效设计师培训织梦做网站利于优化
  • 第二季企业网站开发江门建站模板搭建
  • 做百度手机网站排名网址注册在哪里注册
  • 新站网站建设云南建设企业网站
  • 网站用绝对路径好还是相对路径seo易企秀h5制作官网登录
  • 学做网站 软件软件开发工具名词解释