ngbatis
ngbatis copied to clipboard
return result structure tips
使用map接收结果,有问题,结构如下:
xml语句如下:
请问应该怎么将n这层结构给去掉呢,只保留字段这层结构
如果对返回结果想做个适配业务的个性化处理,可以自定义结果处理器,继承AbstractResultHandler
按截图来看,这边的返回值类型是 Collection<Map>,在 ngbatis 中用的是 CollectionMapResultHandler.java,
自定义结果处理器可以参考这个,对 ResultSet 进行个性化的处理。
需要注意的是,在 Springboot 的入口类中,scanBasePackages 内值的顺序需要注意一下
@SpringBootApplication(scanBasePackages = {"org.nebula.contrib", "your.domain"})
项目包名放在 ngbatis 相关的包后面,从而使得自定义的 ResultHeandler 可以翻盖 ngbaits 中自带的
对于结果集栏位只有一个的情况,一开始 Map 类型就没有进行处理, 后来担心对在用项目造成影响也就没有再做处理。 目前只有返回值是自定义实体类的情况对单栏位做了处理:https://github.com/nebula-contrib/ngbatis/blob/master/src/main/java/org/nebula/contrib/ngbatis/handler/ObjectResultHandler.java#L103
好的
使用官方的Node类的话,这里面的tag应该怎么取出来呢
Node 类本身有个 tagNames 的方法,不过返回的是多个 tag,如果可以确定只有一个 tag,直接取第一个就行。 ResultSetUtil.java#L134
感谢!