首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类似于@PostConstruct

类似于@PostConstruct
EN

Stack Overflow用户
提问于 2017-01-03 21:03:46
回答 1查看 529关注 0票数 0

在通过MyBatis创建对象之后,可以调用某些方法吗?我的目标是根据由null设置的值(存在与否( MyBatis ))来设置附加参数。

从我的研究来看,它暗示MyBatis总是调用无参数构造函数。如果缺少这样的构造函数,则尝试使用与数据库返回的结果相匹配的参数调用构造函数。

我认为唯一的方法是创建自定义TypeHandler。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-20 15:49:04

TypeHandler作用域是1列,不知道映射。

我宁愿使用ResultHandler:在映射每个结果行之后调用它们。

上下文指向映射的结果对象,然后您可以在该对象上做任何您想做的事情。

如果结果映射使用集合(因为多个结果行可能匹配单个对象),则存在限制。

它被称为:session.list("statement", params, resultHandler);,它覆盖默认的resultHandler,如果您需要一个结果列表,那么resultHandler实现将不得不将对象添加到列表中。

如果您正在使用mapper接口,这似乎是Spring(映射器标记为@Mapper注释)的情况,那么只需将结果处理程序作为参数传递,mapper方法将类似于void myStatement(Object param, ResultHandler resultHandler);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41452337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档