Mybatis传参数的方式总结
来源:互联网 发布:recovery清除数据 编辑:程序博客网 时间:2024/06/05 20:40
最近公司项目用到mybatis框架,刚入手,遇到不少坑,特在这里总结一下,方便自己查阅。
First:直接传param
Dao层代码:
Oem selectByNameAndId(Integer id,String name);
对应的Mapper.xml
<select id="selectByNameAndId" resultMap="xxx.Oem">select *from oemwhere id = #{0} and name = #{1}</select>此处的#{0}代表的是第一个参数即为id,第二个参数用#{1},下脚标从0开始。
这里需要注意几点:
(1)用此种方法,只传递一个参数时,那在对应的xml文件中获取时,#{xxx},用什么都可以,没有具体限制,#{0},#{id},#{abc}当然开发中肯定要有一定的意义,不能太随便。
(2)当传递参数数量大于1时,可以用我上面列举的大括号里+下脚标。
(3)这里的xml中并没有配置parametertype这个参数,这是因为如果参数的类型不止一种时,可以省略不写。
Second:使用Map进行传param
service层调用代码:
Map mapparam =new HashMap();mapparam.put("id","123");mapparam.put("name",xiaoming);OemProductOrder opo =new OemProductOrder();opo.selectByMap(mapparam);
Dao层代码:
OemselectByMap(Map mapparam);
对应的Mapper.xml:
<select id="selectByMap" parameterType="java.util.Map" resultMap="xxx.Oem">select *from oemwhere id = #{id,jdbcType=INTEGER} and name = #{name,"jdbcType=VARCHAR"}</select>
此处不能再直接使用下脚标了,而要使用map里面的key。
Third 使用参数注解:
为了简单这里直接使用上面的代码,稍加改动。
Mapper.xml:
<select id="selectByMap" parameterType="xxx.Oem" resultMap="xxx.Oem">select *from oemwhere id = #{id,jdbcType=INTEGER} and name = #{name,"jdbcType=VARCHAR"}</select>
Dao层代码:
OemselectByMap(@Param("id")Integer ida,@Param("name")String namea);
service层调用代码:
OemProductOrder opo =new OemProductOrder();opo.selectByMap(id,name);这里使用的是@param注解传参,我特意在Dao层把行参的名字都改动了下(后面都加了个a),因为是注解里面写的仍然是id,name所以在mapper.xml中取值时,使用的也是id,name。也就是xml中要和注解里的名字保持一致。
至于其他的用对象的属性进行传值,也不外乎就上面三种情况,只是取值时在用.取属性的取值。
阅读全文
0 0
- Mybatis传参数的方式总结
- mybatis 传入参数方式总结
- Mybatis的传入参数总结
- MyBatis接受参数的几种方式
- MyBatis传递参数的3种方式
- mybatis 传递参数的三种方式
- MyBatis接收参数的几种方式
- mybatis的异常总结(1)参数
- Mybatis参数传递总结
- mybatis传递参数总结
- mybatis 参数传递总结
- Mybatis 传参数的问题
- MYbatis 多参数传递方式
- MyBatis多参数传递的四种方式
- 在mybatis中传入参数的几种方式 @Param
- MyBatis教程之三多参数的获取方式
- Mybatis传多个参数的三种解决方式
- activity的启动方式及其参数总结
- 一个屌丝程序猿的人生(四)
- CSS中背景图片定位方法
- maven入门指南—02 maven目录结构与常用命令
- C++STL&GP学习后记——初识STL
- Linux(centos)不能使用FTP 命令 -bash: ftp: command not found
- Mybatis传参数的方式总结
- JAVA开发中的Model1和Model2模型
- redis配置
- nginx重启 failed (98: Address already in use)
- mysql中创建表删除表及表查询
- MD5加密技术(加盐)
- 数据库系统概念(机械工业出版社,第六版)复习——第十二章:事务管理
- javascript深入理解js闭包
- 棋盘覆盖问题(分治)