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>
自定义对象也用@param注解.
在mapper.xml中使用的时候,#对象别名.属性名,如#user.id
注意,使用了@pram注解的话在mapper.xml不加parameterType。
@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怎么实现对象参数和注解参数同时传入的主要内容,如果未能解决你的问题,请参考以下文章