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

  • 基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值
  • 复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值
  • 基本数据类型参数示例:

根据班级ID查询教师列表

xml文件

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

java代码

  1. List<Teacher> tList = teacherMapper.selectTeacher(2);
  2. for (Teacher entityTemp : tList) {
  3. System.out.println(entityTemp.toString());
  4. }
  • JAVA实体类型参数示例:
  1. <select id="selectTeacher" parameterType="com.myapp.domain.Teacher" resultType="com.myapp.domain.Teacher">
  2. select * from Teacher where c_id=#{id}
  3. </select>
  1. java代码
  2. Teacher queryTeacher=new Teacher();
  3. queryTeacher.setId(2);
  4. List<Teacher> tList = teacherMapper.selectTeacher(queryTeacher);
  5. for (Teacher entityTemp : tList) {
  6. System.out.println(entityTemp.toString()); }
  • Map参数示例:

    1. <select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher">
    2. select * from Teacher where c_id=#{id} and sex=#{sex}
    3. </select>
    1. java代码
    2. Map<String,String> map=new HasMap<String,String>();
    3. map.put("id","2");
    4. map.put("sex","男");
    5. List<Teacher> tList = teacherMapper.selectTeacher(map);
    6. for (Teacher entityTemp : tList) {
    7. System.out.println(entityTemp.toString()); }

另外MyBatis还提供了一个使用注解来参入多个参数的方式。这种方式需要在接口的参数上添加@Param注解

示例:

接口方法

  1. public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex);

XML文件

  1. <select id="selectTeacher"  resultType="com.myapp.domain.Teacher">
  2. select * from Teacher where c_id=#{id} and sex=#{sex}
  3. </select>

测试代码

  1. List<Teacher> tList = teacherMapper.selectTeacher("2","男");
  2. for (Teacher entityTemp : tList) {
  3. System.out.println(entityTemp.toString());

本文转自http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 感谢作者

MyBatis之传入参数的更多相关文章

  1. MyBatis的传入参数parameterType类型

    1. MyBatis的传入参数parameterType类型分两种 1. 1. 基本数据类型:int,string,long,Date; 1. 2. 复杂数据类型:类和Map 2. 如何获取参数中的值 ...

  2. MyBatis中传入参数parameterType类型详解

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

  3. (转载)mybatis中传入参数是list或map

    原文地址:http://blog.csdn.net/aya19880214/article/details/41961235 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  4. 【转载】MyBatis之传入参数

    原文地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 在MyBatis的select.insert.update.dele ...

  5. MyBatis之传入参数parameterType

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

  6. MyBatis之传入参数——parameterType(转)

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

  7. Mybatis:传入参数方式以及#{}与${}的区别

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

  8. Mybatis 实现传入参数是表名

    <select id="totals" resultType="string"> select count(*) from ${table} < ...

  9. 12: MyBatis之传入参数parameterType

    源链接地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764

随机推荐

  1. linux 禁止ping

    [root@86 sysconfig]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #关闭ping [root@86 sysconfig] ...

  2. NDK开发

    1 CDT 是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C++ IDE. C/C++在Eclipse平台下的开发工具.它提供的功能包括:C/C++编辑器(一些基本的功能:语 ...

  3. Excel文件导入SQL Server数据库表

    --office 2003--如果接受数据导入的表已经存在insert into DemoTable select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0 ...

  4. php 批量生成html、txt文件

    首先建立一个conn.php的文件用来链接数据库 <?php     $link = mysql_connect("mysql_host" , "mysql_use ...

  5. 垂直的SeekBar:VerticalSeekBar

    public class VerticalSeekBar extends AbsSeekBar { private Drawable mThumb; public interface OnSeekBa ...

  6. 哈希表--HashSet<T>

    .Net3.5之后出现了HashSet<T>,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法,用Reflector工具就可以发现,HashSet< ...

  7. BZOJ1075 : [SCOI2007]最优驾车drive

    设$f[i][j][k]$为到达$(i,j)$,用时为$\frac{k}{5lcm}$小时的最低耗油量,然后DP即可. #include<cstdio> const int N=12,M= ...

  8. BZOJ1111 : [POI2007]四进制的天平Wag

    POI2007完结撒花~ 首先将n转化为四进制,从低位到高位DP f[i]表示这一位不向下一位借位 g[i]表示这一位向下一位借位,但借的那个不算在i f[0]=0,g[0]=inf f[i]=mer ...

  9. BZOJ1767 : [Ceoi2009]harbingers

    设d[i]表示i到1的距离 f[i]=w[i]+min(f[j]+(d[i]-d[j])*v[i])=w[i]+d[i]*v[i]+min(-d[j]*v[i]+f[j]) 对这棵树进行点分治,每次递 ...

  10. storm源码之理解Storm中Worker、Executor、Task关系 + 并发度详解

    本文导读: 1 Worker.Executor.task详解 2 配置拓扑的并发度 3 拓扑示例 4 动态配置拓扑并发度 Worker.Executor.Task详解: Storm在集群上运行一个To ...