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
配置如:
<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注解
/** * 此处要注意的是,由于该方法需要传入多个参数,在进行Mybatis配置时, * 没有办法同时配置多个参数,另外MyBatis还提供了一个使用注解来参入 * 多个参数的方式。这种方式需要在接口的参数上添加@Param注解。。 * 注意,以下两种写法是完全相同的。但使用的时候要使用第一种类型 */ User login(@Param(value="name")String name,@Param(value="password")String password ); // User login(String name,String password);
配置如下:
<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种 #{} 与${} ,"#": 会把你传入的参数当成字符串解析 也就是你无论传入什么 都会被加上''号 "$" : 你传入什么 就是什么
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用Spring Boot+gRPC构建微服务并部署的案例详解
这篇文章主要介绍了使用Spring Boot+gRPC构建微服务并部署,Spring Cloud仅仅是一个开发框架,没有实现微服务所必须的服务调度、资源分配等功能,这些需求要借助Kubernetes等平台来完成,本文给大家介绍的非常详细,需要的朋友参考下吧2022-06-06SpringBoot在生产快速禁用Swagger2的方法步骤
这篇文章主要介绍了SpringBoot在生产快速禁用Swagger2的方法步骤,使用注解关闭Swagger2,避免接口重复暴露,非常具有实用价值,需要的朋友可以参考下2018-12-12Java多线程之线程通信生产者消费者模式及等待唤醒机制代码详解
这篇文章主要介绍了Java多线程之线程通信生产者消费者模式及等待唤醒机制代码详解,具有一定参考价值,需要的朋友可以了解下。2017-10-10
最新评论