在通过MyBatis创建对象之后,可以调用某些方法吗?我的目标是根据由null设置的值(存在与否( MyBatis ))来设置附加参数。
从我的研究来看,它暗示MyBatis总是调用无参数构造函数。如果缺少这样的构造函数,则尝试使用与数据库返回的结果相匹配的参数调用构造函数。
我认为唯一的方法是创建自定义TypeHandler。
发布于 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);。
https://stackoverflow.com/questions/41452337
复制相似问题