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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

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

mybati之parameterType传递多个参数

当在查询的时候需要传入多个参数的时候该怎么办呢:shiyong

1,封装成一个Model对象,底层HashMap还是一个

2,使用HashMap封装

3,使用注解,@param

 

 

queryUserByuserNameAndPass(String userName,String PassWord);  //返回值类型为Usre  

//sql

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//会报错的

</select>

 

改为如下:

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{0} and u.pass_word=#{1}//运行成功但是,可读性不高

</select>

 

//使用HashMap定义:

HashMap <String,Object> map=new HashMap<String,Object>();

map.put("userName","zhangsan");

map.put("password","123456");

queryUserByuserNameAndPass(map);//为返回值类型为User

//sql 如下:

<select id="queryUserByuserNameAndPass"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//

</select>

ibati用HashMap封装是sql如下:

<select id="queryUserByuserNameAndPass"  parameterClass="java.util.HashMap"  resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}

</select>

 

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

Mybatis的parameterType传入多个参数

mybatis中怎么传参数可以提高查询效率

mybati之parameterType传递多个参数

mybatis框架注解对象怎么在if 标签判断

MyBatis传入多个参数 ,List集合

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