码迷,mamicode.com
首页 > 数据库 > 详细

MyBatis的SQL语句映射文件详解(三)----参数传递

时间:2015-07-31 12:39:16      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

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

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

java代码

//String类型的参数 username
public
User findUser(String usernumber) { return (User) sqlSessionTemplate.selectOne("findUserByUsernumber", usernumber); }

xml代码

//对应paramterType="string"
<
select id="findUserByUsernumber" parameterType="string" resultType="User"> select * from user where usernumber = #{usernumber} </select>

2.Java实体类型参数

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

java代码

//User实体类
public
void updateUser(User user) { sqlSessionTemplate.update("updateUser", user); }

xml代码

//将parameterType类型指向对应的类的具体地址(包名+类名),也可指向typeAlias中的别名(在mybatis.xml)文件中
<
update id="updateUser" parameterType="User" > update user set username=#{username},loginname=#{loginname},loginpassword=#{loginpassword},sex=#{sex},birthday=#{birthday} where usernumber=#{usernumber} </update>

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

public User findUser(String loginname, String loginpassword) {
        // TODO Auto-generated method stub
        Map<String,String> map=new HashMap<String, String>();
        map.put("loginname", loginname);
        map.put("loginpassword", loginpassword);
        return (User) sqlSessionTemplate.selectOne("loginUser", map);
        
    }
       <select id="loginUser" parameterType="map" resultType="User">
            select * from user where loginname=#{loginname} and loginpassword=#{loginpassword}
        </select>

利用map知识多参数传递的一种方式,还有其他方式可以实现

 

MyBatis的SQL语句映射文件详解(三)----参数传递

标签:

原文地址:http://www.cnblogs.com/nww57/p/4691581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!