Mybatis实现同时传入对象参数和字符串参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis实现同时传入对象参数和字符串参数相关的知识,希望对你有一定的参考价值。

参考技术A 字符串和对象参数都用@param注解.

mapper.xml中使用的时候,使用#对象名.属性名取值,如#user.id,动态SQL判断时也要用 对象名.属性名.

注意,使用了@pram注解的话在mapper.xml不加parameterType。

mybatis怎么实现对象参数和注解参数同时传入

public List<UserExtension> selectAllUsers(UserExtension user, @Param("begin")int begin, @Param("end")int end);
如果我有这样一个分页方法(暂不考虑用分页插件),参数是通过对象和注解的形式传入的,那我的where条件该怎么写呢?

用@Param注解,这样写:

public interface BizSdkGroupMapper  

 int updateById(@Param("oldBundleId") String oldBundleId, @Param("bizSdkGroup") BizSdkGroup bizSdkGroup);

 

扩展资料:

注意事项

在mapper.xml中使用的时候,#对象别名.属性名 ,注意:使用了@Param注解的话在mapper.xml不加parameterType

<update id="updateById">

update biz_sdk_group

set 

name = #bizSdkGroup.name,jdbcType=VARCHAR,

description = #bizSdkGroup.description,jdbcType=VARCHAR,

platform = #bizSdkGroup.platform, jdbcType=TINYINT,

bundle_id = #bizSdkGroup.bundleId, jdbcType=VARCHAR

where bundle_id = #oldBundleId,jdbcType=BIGINT

</update>



参考技术A

    自定义对象也用@param注解.

    在mapper.xml中使用的时候,#对象别名.属性名,如#user.id

    注意,使用了@pram注解的话在mapper.xml不加parameterType。

public List<UserExtension> selectAllUsers(
                        @Param("user") UserExtension user, 
                        @Param("begin") int begin, 
                        @Param("end") int end);

本回答被提问者和网友采纳

以上是关于Mybatis实现同时传入对象参数和字符串参数的主要内容,如果未能解决你的问题,请参考以下文章

mybatis传入参数为map,map的某个值位数组解析错误的问题

mybatis $和#

mybatis参数传值,多个字符串类型,或其他包装类

MyBatis基础入门《七》查询参数传入对象

Mybatis中关于字符串参数的判断

MyBatis动态传入表名,字段名参数的解决办法