鸣谢:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764

--------------------------------------------------------------------

在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());
}    

JAVA实体类型参数示例:

xml文件  (注:parameterType="com.myapp.domain.Teacher" 可简写为 parameterType="Teacher" )

<select id="selectTeacher" parameterType="com.myapp.domain.Teacher" resultType="com.myapp.domain.Teacher">  select * from Teacher where c_id=#{id}
</select>  

java代码

java代码  Teacher queryTeacher=new Teacher();
queryTeacher.setId(2);
List<Teacher> tList = teacherMapper.selectTeacher(queryTeacher);
for (Teacher entityTemp : tList) {    System.out.println(entityTemp.toString()); }  

Map参数示例:

xml文件

<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());

MyBatis之传入参数——parameterType(转)相关推荐

  1. MyBatis之传入参数——parameterType

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和JA ...

  2. MyBatis之传入参数

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...

  3. 五、深入理解Mybatis中的参数parameterType (传递一个简单参数,传递多个参数:@Param、使用自定义对象、按位置、使用Map)

    1.1 parameterType parameterType: 接口中方法参数的类型, 类型的完全限定名或别名.这个属性是可选的,因为 MyBatis可以推断出具体传入语句的参数,默认值为未设置(u ...

  4. mybatis中传入参数的几种方式

    第一种: Dao层的方法 Public User selectUser(String name,String password); 对应的Mapper.xm <select id="s ...

  5. mybatis传入参数类型parameterType详解

    前言 Mybatis的Mapper文件中的select.insert.update.delete元素中都有一个parameterType属性,用于对应的mapper接口方法接受的参数类型. ( res ...

  6. MyBatis传入参数为list、数组、map写法

    1.foreach简单介绍: foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有item,index,collection,open,sep ...

  7. Mybatis传入参数类型为Map

    转载自   Mybatis传入参数类型为Map mybatis更新sql语句: <update id="publishT00_notice" parameterType=&q ...

  8. Mybatis传入参数类型为ListIntergert作为条件进行查询

    Mybatis传入参数类型为List作为条件进行查询 higher2017关注 2017.02.07 10:23:16字数 130阅读 5,658 表结构: 表名称为constant 需求: 现在想查 ...

  9. MyBatis传入参数为0时条件不生效

    当传入参数为 0 的时候,判断条件无效 <if test="sex != null and sex != '' ">and sex =#{sex } </if&g ...

最新文章

  1. IDEA中maven的命令及作用
  2. Android在eoe分享一篇推荐开发组件或者框架的文章
  3. python官网 中文版 新闻-用python看新闻
  4. archer mysql源码_自动化运维工具inception+archer
  5. ubuntu16.04设置静态IP
  6. java textfield 数字,如何将整数转换为文本以便在textfield java-blackberry中使用
  7. ABAP并发编程到底能提高多少性能
  8. 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署
  9. springboot-添加拦截器
  10. 云海轻站V 1.0.17+智慧文章1.0.1插件(公众号同步官方最新版)
  11. phpeclipse+xdebug配置
  12. H5支付完整demo及问题总结【已解决】
  13. Leetcode每日一题:169.majority-element(多数元素)
  14. java canvas数组_java数组
  15. 为多个VLAN实现DCHP
  16. 《编译原理及实践教程》第一章学习笔记
  17. mysql 中用select建表_用 SELECT 的结果创建表
  18. 库克考虑卸任苹果 CEO,谁会是下一任接班人?
  19. raspberry 防火墙_用Raspberry Pi对您的家庭网络进行防火墙
  20. 纯CSS3实现的蓝天白云效果

热门文章

  1. 191027爬虫笔记
  2. 进程和线程的区别?什么时候用进程?什么时候用线程?
  3. 如何在 GitHub 上高效搜索开源项目
  4. p1164 小A点菜 题解——背包初步
  5. 基于TensorFlow的简单验证码识别
  6. 链表倒置 (不额外开辟另一块空间)
  7. springmvc @responsebody json字符编码
  8. apache压力测试工具ab
  9. 企业网站推广方案详解
  10. Apache POI和EasyExcel 第七集:EasyExcel的基本操作,读取和写入Excel,一行足矣