java sql映射文件 如何传多个parameterclass_MyBatis的SQL语句映射文件详解(三)----多参数传递的几种方式...

1.单一基本类型参数(String,int等)

单一的基本类型参数,将对应语句中的parameterType的值与参数的类型相同。然后直接 用“#{参数名}” 来获取

java代码

//String类型的参数 username

publicUser findUser(String usernumber) {return (User) sqlSessionTemplate.selectOne("findUserByUsernumber", usernumber);

}

xml代码

//对应paramterType="string"

select * from user where usernumber = #{usernumber}

2.Java实体类型参数

java实体类型参数:将parameterType的值设为对应的 Java实体类,然后用#{类的属性名}来获取

java代码

//User实体类

public voidupdateUser(User user) {

sqlSessionTemplate.update("updateUser", user);

}

xml代码

//将parameterType类型指向对应的类的具体地址(包名+类名),也可指向typeAlias中的别名(在mybatis.xml)文件中

update user set username=#{username},loginname=#{loginname},loginpassword=#{loginpassword},sex=#{sex},birthday=#{birthday} where usernumber=#{usernumber}

3.多个基本类型参数

在具体业务关系中,往往需要传多个参数,比如:登录----->用户名+密码

①利用map进行传参

将多个参数设置到map里,用#{键值}来取

publicUser findUser(String loginname, String loginpassword) {//TODO Auto-generated method stub

Map map=new HashMap();

map.put("loginname", loginname);

map.put("loginpassword", loginpassword);return (User) sqlSessionTemplate.selectOne("loginUser", map);

}

select * from user where loginname=#{loginname} and loginpassword=#{loginpassword}

②利用注解方式

使用@Param("参数名")注解的方式,在sql语句中直接用#{参数名}取出

public User findUser2( @Param("loginname")String loginname, @Param("password")String password);

select * from user where loginname=#{loginname} and password=#{password}

③利用#{0.1.2....}来取

#{0}表示第一个参数,#{1}表示第二个参数,以此类推

public User findUser2(String loginname,String password);

select * from user where loginname=#{0} and password=#{1}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值