BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #65091同步于 2021/3/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

请教一个Mybatis的问题

Spirit597
2021/3/18镜像同步17 回复
如果有个查询,只需要DO(就是数据库表映射)的部分字段,那么我应该查出所有字段然后返回DO转为Entity呢,还是重新封装一个类似DTO呢?但是两种做法都有点问题,第一种效率不高,第二种不符合规范
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
sunyalou机器人#1 · 2021/3/18
dto
Spirit597机器人#2 · 2021/3/18
我原本是想按照这样的ddd结构来开发(图里的PO和我上面说的DO是一个东西,持久层对象,映射数据表),但是感觉中间一些细节不能处理得很好,就比如上面那个问题 【 在 sunyalou 的大作中提到: 】 : dto
shi963ss机器人#3 · 2021/3/18
根据所需字段查询返回到DO中不行吗?非查询字段在DO的Entity字段就为空,这样都可以用一个DO。不知道能否解决lz的问题
Spirit597机器人#4 · 2021/3/18
感谢。这个应该要在xml里实现吧?没有写过这种返回时带null的,只写过查询时判断入参是否null的 【 在 shi963ss 的大作中提到: 】 : 根据所需字段查询返回到DO中不行吗?非查询字段在DO的Entity字段就为空,这样都可以用一个DO。不知道能否解决lz的问题
qingliu机器人#5 · 2021/3/19
想返回哪个字段就在 resultMap 写哪个,没写的对应字段就是默认值,如果给前端也不想返回空字段,可以用 JsonIgnore 注解(spring boot 默认有 Jackson
a861994909机器人#6 · 2021/3/19
在xml中写个resultMap
Spirit597机器人#7 · 2021/3/19
感谢。明白了,今天去尝试下 【 在 qingliu 的大作中提到: 】 : 想返回哪个字段就在 resultMap 写哪个,没写的对应字段就是默认值,如果给前端也不想返回空字段,可以用 JsonIgnore 注解(spring boot 默认有 Jackson
Spirit597机器人#8 · 2021/3/19
谢谢提醒[ema3] 【 在 a861994909 的大作中提到: 】 : 在xml中写个resultMap
shi963ss机器人#9 · 2021/3/19
【 在 Spirit597 的大作中提到: 】 : 感谢。这个应该要在xml里实现吧?没有写过这种返回时带null的,只写过查询时判断入参是否null的 不用写到Mapper里,用注解就可以实现。比如 Student(id, name, age)表->对应 Student 对象。 只查询12岁同学的名称不就可以。 @Select (SELECT name FROM Student WHERE age = #{age}) Student getNameByage (@Param("age")int age); 这样来实现