在MyBatis的select、insert、update、delete这些元素中都提到了parameterType这个属性。MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型
- 基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值
- 复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值
根据班级ID查询教师列表
xml文件
- <select id="selectTeacher" parameterType="int" resultType="com.myapp.domain.Teacher">
- select * from Teacher where c_id=#{id}
- </select>
java代码
- List<Teacher> tList = teacherMapper.selectTeacher(2);
- for (Teacher entityTemp : tList) {
- System.out.println(entityTemp.toString());
- }
- <select id="selectTeacher" parameterType="com.myapp.domain.Teacher" resultType="com.myapp.domain.Teacher">
- select * from Teacher where c_id=#{id}
- </select>
- java代码
-
- Teacher queryTeacher=new Teacher();
- queryTeacher.setId(2);
- List<Teacher> tList = teacherMapper.selectTeacher(queryTeacher);
- for (Teacher entityTemp : tList) {
- System.out.println(entityTemp.toString()); }
-
Map参数示例:
- <select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher">
- select * from Teacher where c_id=#{id} and sex=#{sex}
- </select>
- java代码
-
- Map<String,String> map=new HasMap<String,String>();
- map.put("id","2");
- map.put("sex","男");
- List<Teacher> tList = teacherMapper.selectTeacher(map);
- for (Teacher entityTemp : tList) {
- System.out.println(entityTemp.toString()); }
另外MyBatis还提供了一个使用注解来参入多个参数的方式。这种方式需要在接口的参数上添加@Param注解
示例:
接口方法
- public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex);
XML文件
- <select id="selectTeacher" resultType="com.myapp.domain.Teacher">
- select * from Teacher where c_id=#{id} and sex=#{sex}
- </select>
测试代码
- List<Teacher> tList = teacherMapper.selectTeacher("2","男");
- for (Teacher entityTemp : tList) {
- System.out.println(entityTemp.toString());
分享到:
相关推荐
在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
MyBatis传入多个参数
总结了Mybatis传递参数的几种方式,并对几种方式进行比较,另外还有一些参数的限制说明
我们看到, 直接在可视化工具里用SQL写 ccf.last_update_timestamp between TIMESTAMP '2019-12-13' AND TIMESTAMP '2019-12-13' 甚至去掉 TIMESTAMP 都是可以的, pgSQL可以自动把字符串给你转换成日期格式, ...
主要介绍了MyBatis传入集合 list 数组 map参数的写法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
【已解决】关于MyBatis参数传入#{index}的问题的解决方案 原文链接:https://mp.csdn.net/postedit/80387035 对应的源码
主要给大家介绍了关于MyBatis中传入参数parameterType类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Mybatis的以传入参数的形式进行切换数据库。
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据?接下来通过本文给大家介绍Mybatis传list参数调用oracle存储过程,需要的朋友可以参考下
主要介绍了Mybatis如何传入多个参数的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
今天小编就为大家分享一篇关于mybatis动态sql之Map参数的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Java调用存储过程--传入集合参数 具体的方法描述分析
主要介绍了MyBatis传入参数的实例代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
本文通过实例代码给大家介绍了mybatis动态插入list,Mybatis 传入List参数的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,...
MyBatis传入参数与parameterType.doc
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,这篇文章主要介绍了Mybatis连续传递多个参数的方法,需要的朋友可以参考下
主要介绍了详解mybatis中association和collection的column传入多个参数问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现...
mybatis 报空值异常及其解决办法