怎么自定义MyBatis的返回值

时间:2021-11-18 20:38:20
我自定义了一个类 我想让所有的方法都返回这个自定义的类?

给这个类赋值的时候在那里做操作?

我使用的是 mybatis for spring的mapper接口风格的编程

最好不用拦截器

5 个解决方案

#1


不明白你的意思呢

什么叫做所有的方法都返回这个自定义的类?这与MyBatis的关系在哪

#2


在和接口同名的xml配置文件里面写,比如接口类名UserMapper.java,自定义实体类User.java,在UserMapper.xml里面加上定义:


<resultMap id="uresult" type="entity.User">
</resultMap>


在定义sql语句的时候加上resultMap="uresult"

#3


自己定义一个resultMap

<resultMap id="SQL010DbResult" class="xxx.xxx.xxx.XXXXXDaoBean" >
    <result column="SYTM_BANK_CODE" property="sytmBankCode" jdbcType="CHAR" />
    ...........
</resultMap>
使用自定义的resultMap作为返回类型
<select id="SQL010" resultMap="SQL010DbResult" parameterClass="xxx.xxx.xxx.XXX">
    SQL
</select>

#4


我要返回的不是实体类 返回的是json格式 

有这几种情况 

[{columnName:columnValue,columnName:columnValue...},{columnName:columnValue,columnName:columnValue...}]

[[columnValue,columnValue..],[columnValue,columnValue..]]

有什么方法获得到resultset进行处理最好 
就跟spring jdbc那样 的回调函数

#5


我要在数据库查询出来数据赋值的时候 进行处理

不想在 mybatis已经赋值完且返回集合后 处理

#1


不明白你的意思呢

什么叫做所有的方法都返回这个自定义的类?这与MyBatis的关系在哪

#2


在和接口同名的xml配置文件里面写,比如接口类名UserMapper.java,自定义实体类User.java,在UserMapper.xml里面加上定义:


<resultMap id="uresult" type="entity.User">
</resultMap>


在定义sql语句的时候加上resultMap="uresult"

#3


自己定义一个resultMap

<resultMap id="SQL010DbResult" class="xxx.xxx.xxx.XXXXXDaoBean" >
    <result column="SYTM_BANK_CODE" property="sytmBankCode" jdbcType="CHAR" />
    ...........
</resultMap>
使用自定义的resultMap作为返回类型
<select id="SQL010" resultMap="SQL010DbResult" parameterClass="xxx.xxx.xxx.XXX">
    SQL
</select>

#4


我要返回的不是实体类 返回的是json格式 

有这几种情况 

[{columnName:columnValue,columnName:columnValue...},{columnName:columnValue,columnName:columnValue...}]

[[columnValue,columnValue..],[columnValue,columnValue..]]

有什么方法获得到resultset进行处理最好 
就跟spring jdbc那样 的回调函数

#5


我要在数据库查询出来数据赋值的时候 进行处理

不想在 mybatis已经赋值完且返回集合后 处理