前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyBatis之传入参数——parameterType

MyBatis之传入参数——parameterType

作者头像
似水的流年
发布2019-12-04 13:01:43
6000
发布2019-12-04 13:01:43
举报
文章被收录于专栏:电光石火电光石火

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

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

基本数据类型参数示例:

根据班级ID查询教师列表

xml文件

代码语言:javascript
复制
<selectid="selectTeacher"parameterType="int"resultType="com.myapp.domain.Teacher">select * from Teacher where c_id=#{id}</select> 

java代码

代码语言:javascript
复制
List<Teacher> tList = teacherMapper.selectTeacher(2);for(Teacher entityTemp : tList) {    

    System.out.println(entityTemp.toString());    

}

JAVA实体类型参数示例:

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

代码语言:javascript
复制
<selectid="selectTeacher"parameterType="com.myapp.domain.Teacher"resultType="com.myapp.domain.Teacher">select * from Teacher where c_id=#{id}</select> 

java代码

代码语言:javascript
复制
java代码  

  

Teacher queryTeacher=newTeacher();  

queryTeacher.setId(2);  

List<Teacher> tList =teacherMapper.selectTeacher(queryTeacher);for(Teacher entityTemp : tList) {    

    System.out.println(entityTemp.toString()); }

Map参数示例:

xml文件

代码语言:javascript
复制
<selectid="selectTeacher"parameterType="Map"resultType="com.myapp.domain.Teacher">select * from Teacher where c_id=#{id} and sex=#{sex}</select> 

java代码  

代码语言:javascript
复制
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注解

示例:

接口方法

代码语言:javascript
复制
public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex); 

XML文件

代码语言:javascript
复制
<selectid="selectTeacher"resultType="com.myapp.domain.Teacher">select * from Teacher where c_id=#{id} and sex=#{sex}</select>

测试代码

代码语言:javascript
复制
List<Teacher> tList = teacherMapper.selectTeacher("2","男");for(Teacher entityTemp : tList) {    

    System.out.println(entityTemp.toString());
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本数据类型参数示例:
  • JAVA实体类型参数示例:
  • Map参数示例:
  • 另外MyBatis还提供了一个使用注解来参入多个参数的方式。这种方式需要在接口的参数上添加@Param注解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档