服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Mybatis配置映射文件中parameterType的用法讲解

Mybatis配置映射文件中parameterType的用法讲解

2022-01-22 16:40香吧香 Java教程

这篇文章主要介绍了Mybatis配置映射文件中parameterType的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Mybatis配置映射文件parameterType用法

在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的输入参数类型即可。parameterType有基本数据类型和复杂的数据类型配置。

1.基本数据类型

如输入参数只有一个,其数据类型可以是基本的数据类型,也可以是自己定的类类型。包括int,String,Integer,Date,如下:

(1)根据id进行相应的删除:<delete id="deleteById" parameterType="Integer">

(2)添加员工:<insert id="addEmp" parameterType="com.pojo.Employee">

2.复杂数据类型:包含java实体类,map

配置如:

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

java代码如下:

?
1
2
3
4
5
6
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注解

?
1
2
3
4
5
6
7
8
9
    /**
     * 此处要注意的是,由于该方法需要传入多个参数,在进行Mybatis配置时,
     * 没有办法同时配置多个参数,另外MyBatis还提供了一个使用注解来参入
     * 多个参数的方式。这种方式需要在接口的参数上添加@Param注解。。
     * 注意,以下两种写法是完全相同的。但使用的时候要使用第一种类型
     */
    
    User login(@Param(value="name")String name,@Param(value="password")String password );
//    User login(String name,String password);

配置如下:

?
1
2
3
<select id="login"  resultType="com.pojo.User">
   select * from us where name=#{name} and password=#{password}
  </select>

Mybatis parameterType # $符号的注意事项

1.如果传入的参数类型大于1种,且参数个数大于等于2,不要写parameterType不然会报错

2.解析传入参数有2种 #{} 与${} ,"#": 会把你传入的参数当成字符串解析 也就是你无论传入什么 都会被加上''号 "$" : 你传入什么 就是什么

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/zjdxr-up/p/6603419.html

延伸 · 阅读

精彩推荐