首页
学习
活动
专区
圈层
工具
发布

当返回前端的数据中存在List对象集合,如何优雅操作?

1.业务背景 业务场景中,一个会话中存在多个场景,即一个session_id对应多个scene_id和scene_name 如果你写成如下的聚合模型类 public class SceneVO { private...List形式如下,这个数据在data属性中 { "data":[ { "sessionId": "jksadhjksd", "sceneId":"NDJWKSDSJKDKED...-- collection 标签:用于定义关联的list集合类型的封装规则 property:对应父类中list属性名,这里SceneVO类里的List变量名为sceneList...-- 一个session_id对应多条记录,返回的是SceneVO对象,SceneVO对象有一个List装着SubSceneVO --> select id="selectBySessionId...:用于定义关联的List集合类型的封装规则 property属性:对应父类中List集合的变量名,这里SceneVO类里的List变量名为sceneList ofType属性:集合存放的类型,List

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring-Data-Jpa基础用法

    它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。...1代表在方法参数里的第一个参数,区别于其他的index,这里从1开始 =:加上变量名,这里是与方法参数中有@Param的值匹配的,而不是与实际参数匹配的 JPQL的语法中,表名的位置对应Entity的名称...,适合对单一属性做排序 通过Sort.Order对象创建Sort对象,适合对单一属性做排序 通过属性的List集合创建Sort对象,适合对多个属性,采取同一种排序方式的排序 通过Sort.Order对象的..., Pageable pageable); 投影 在JPA的查询中,有一个不方便的地方,@Query注解,如果查询直接是Select C from Customer c,这时候,查询的返回对象就是Customer...另外,如果定义select c.firstName as firstName,c.lastName as lastName from Customer c这个查询结果,返回的对象是Object类型,而且无法直接转换成

    1.1K20

    JPA之使用JPQL语句进行增删改查

    2.查询select子句也只是列出了查询实体的别名,如果只查询某一列的,可以使用点(.)操作符进行来导航实体属性。...Query的返回的Object类型,而TypedQuery返回的是指定的Class类型。...2.1.动态查询定义 JPA查询引擎,可以将JPQL字符串解析成语法树,获取表达式中的实体对象-关系映射的元数据,然后生成等价的SQL。故有两种方式进行动态查询。...Tip:命名查询通畅放置在对应查询结果的实体类上 Tip:NamedQuery里面定义的名称在整个持久化单元中需要唯一,不然运行会出错。...如果获取多条数据的话,则会抛出NonUniqueResultException异常 3.getResultList 获取对应的结果集合,指定顺序的集合,需要使用List作为返回值类型。

    2.3K60

    SpringBoot引入Spring Data JPA

    JPA是在吸收现有ORM框架的基础上发展而来,总得包括以下: ORM映射:支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系 API:操作实体对象来执行CRUD操作 查询语言:通过面向对象而非面向数据库的查询语言...= "t_test") @NamedQuery(name="findByAge", query="select t from Test t where t.age=?...1") @NamedQueries({         @NamedQuery(name="findAllTest",query="select t from Test t"),         @NamedQuery...1"),         @NamedQuery(name="findTestWithUsername",query="SELECT t FROM Test t WHERE t.username = :...小结     本篇内容主要介绍了在Spring Boot中引入Spring Data JPA以及JPA的简单基础引用,本篇未及地方日后有空再补。

    2.2K00

    快速学习-MyBatis映射文件

    resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加 载对象。 parameterMap – 已废弃!老式风格的参数映射。...取值: Array: #{array} Collection(List/Set): #{collection} List : #{collection / list} 4.4.2 参数传递源码分析 以命名参数为例...by 排序字段 desc/asc limit x, x 4.5 select查询的几种情况 查询单行数据返回单个对象 public Employee getEmployeeById(Integer...id ); 查询多行数据返回对象的集合 public List getAllEmps(); 查询单行数据返回Map集合 public MapObject> getEmployeeByIdReturnMap...(Integer id ); 查询多行数据返回Map集合 @MapKey("id") // 指定使用对象的哪个属性来充当map的key public Map getAllEmpsReturnMap

    90820

    Mybatis RowBounds 分页原理「建议收藏」

    但是由于它是在 sql 查询出所有结果的基础上截取数据的,所以在数据量大的sql中并不适用,它更适合在返回数据结果较少的查询中使用 最核心的是在 mapper 接口层,传参时传入 RowBounds(int...offset, int limit) 对象,即可完成分页 注意:由于 java 允许的最大整数为 2147483647,所以 limit 能使用的最大整数也是 2147483647,一次性取出大量数据可能引起内存溢出...,所以在大数据查询场合慎重使用 mapper 接口层代码如下 List selectBookByName(MapObject> map, RowBounds rowBounds...public void contextLoads() { Book book = new Book(); book.setBookName("隋唐演义"); book.setBookAuthor("褚人获"...(), rowBounds); //判断数据是否小于limit,如果小于limit的话就不断的循环取值 while (shouldProcessMoreRows(resultContext,

    1.2K20

    JavaScriptJQuery基本使用

    =[];//list来存储数据 for (item of $(".myCheckBox:checked")) {//迭代获取值 list.push($(item).val()); console.log...(list); } 4、select标签事件处理 以下是获取select的列表项的选中的项的值 $("#select").children('option:selected')是select元素的选中的子元素...jquery对象 $(js对象) ---- 页面跳转 在原来的窗体中直接跳转用 window.location.href="你所要跳转的页面"; 在新窗体中打开页面用: window.open('你所要跳转的页面...'); window.history.back(-1);返回上一页 ---- json处理 如果json是由数组来的,那么parse()解析后,会变为json数组,使用json[数字]来获取数据,由对象变来的话...,会变为json对象,使用json.属性 获取值,或者 json[“属性”] 获取值 // JSON对象转字符串 JSON.stringify() // JSON字符串转JSON对象 JSON.parse

    86330
    领券