博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis的SQL语句映射文件详解(三)----多参数传递的几种方式
阅读量:4918 次
发布时间:2019-06-11

本文共 1801 字,大约阅读时间需要 6 分钟。

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

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

java代码

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

xml代码

//对应paramterType="string" 

2.Java实体类型参数

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

java代码

//User实体类 public void updateUser(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里,用#{键值}来取

public User 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); }

②利用注解方式

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

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

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

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

public User findUser2(String loginname,String password);

 

 

转载于:https://www.cnblogs.com/nww57/p/4691581.html

你可能感兴趣的文章
关于控制反转(IOC)容器 ,依赖注入(DI)模式必读文章收集
查看>>
20131214-EditPlus快捷键-第二十一天
查看>>
安装Windows服务,一直提示系统正在关机的错误。
查看>>
wake,awake,waken,awaken的区别
查看>>
MySQL 字符串拼接
查看>>
iOS-回收键盘的几种方法
查看>>
knockoutJS学习笔记09:使用mapping插件
查看>>
API开发之接口安全(二)-----sign校验
查看>>
bzoj 1047 单调队列
查看>>
Windows Phone开发之路(11) 方向处理之动态布局
查看>>
数据分析笔试题
查看>>
Random在高并发下的缺陷以及JUC对其的优化
查看>>
C# 获取文件路径,读取项目中某程序集下文件
查看>>
static关键字
查看>>
Java面向对象之接口interface 入门实例
查看>>
想成为web开发大神?那你应该从拥有良好的代码规范走起!(JavaScript篇 - 第一篇)...
查看>>
node 删除和复制文件或文件夹
查看>>
便捷开发之mybatis逆向工程
查看>>
前端移动端开发总结(Vue)
查看>>
实现一个EventEmitter类,这个类包含以下方法: on/ once/fire/off
查看>>