一、parameterType详解

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

① 基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值

② 复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值

二、parameterType例子

现在有一个Mapper配置文件,以下是片段:

 <select id="queryCommandListByPage" resultMap="CommandResult" >select <include refid="columns"/> from command a left join command_content b on a.id=b.command_id<where><if test="command.name != null and !"".equals(command.name.trim())">and a.name=#{command.name}</if><if test="command.description != null and !"".equals(command.description.trim())">and a.description like '%' #{command.description} '%'</if></where><if test="flag==1">group by aid</if>order by id</select><sql  id="columns">a.id aid,a.name,a.description,b.content,b.id,b.command_id</sql>

下面是IService接口:

     /*** 拦截器实现分页*/public List<command> queryCommandListByPage(Map<String,Object>parameter);

上面的xml中没有配置parameterType,但是这是正确的,因为mybatis能自动识别,但返回值类型不能不写,因为mybatis需要将获得结果封装到相应的类中,查询的字段与类的属性需要一致(不一致的需要显示的配置)。

还有一种情况是参数有多个,数据类型多种,无法确认参数类型。用的是#{index}取值。

以上是鄙人愚见,有不当或补充之处,欢迎指正。

parameterType是必须写的吗?相关推荐

  1. mybatis的parameterType可以不写(我一般都不写)

    为什么不写parameterType也可以运行成功? mybatis的parameterType可以不写(我一般都不写) 因为mybatis自动识别入参对象,但返回值类型不能不写 idea-mybat ...

  2. mybatis的parameterType属性那些情况下要写 哪些情况下不用写

    不写: 如果 是基本类型,或者是java自身的引用类型,在mybatis 运行时,会自动的进行匹配,可以省略parameterType属性. 写: 如果是你自己声明的一个类型,因为可能在引入的jar包 ...

  3. 常用SQL语句和HQL语句写法

    1.左(右)外连接: select b.phone_no,a.pak_no from t_phone a left(right) join t_pak_used b on (a.phone_no=b. ...

  4. mybatis的dao向mapper.xml传入多参数

    https://www.cnblogs.com/super-chao/p/7722411.html 1.如果两种不同类型的参数传入,parameterType可以不写,直接获取#{0},#{1}就可以 ...

  5. mybatis3 类型别名

    目录 问题描述 解决方案 方案二,直接扫描包 问题描述 <!-- 插入操作 需要user参数 --><insert id="insertUser" paramet ...

  6. Java面试——MyBatis系列总结

    文章目录: 1.MyBatis是什么? 2.JDBC编程有哪些缺陷?MyBatis又是如何改进的? 3.MyBatis与Hibernate的区别在哪? 4.MyBatis的优缺点 5.请说说MyBat ...

  7. Mybatis笔记(视频是动力节点王妈妈10.5小时)

    简介 Mybatis,原名iBatis,是Apache开源项目,10年迁移到google code改名Mybatis,13年迁移到github.是dao层的框架,用于数据库访问的各操作. JDBC的缺 ...

  8. MyBatis入门(从零到一)

    文章目录 MyBatis官方文档地址 实际操作可能会遇见的问题 引入MyBatis依赖 CURD各写一遍 使用map参数类型 resultMap标签的简单使用(结果集映射) 配置解析 核心配置文件 环 ...

  9. MyBatis详细笔记

    导学 文章目录 导学 一.MyBatis介绍 1. 什么是框架? 2. 什么是ORM框架? 3. 什么是MyBatis? 二.MyBatis入门 1. 环境搭建 2. 创建持久层接口和映射文件 3. ...

最新文章

  1. 大二上学数据结构和操作系统_毕业后的工作比上学要重要得多。 这是数据。...
  2. Xamarin开发安装Visual Studio 2015 update2报错的解决办法
  3. java上传图片报404_ssm框架上传图片成功后跳转jsp页面显示却404访问不到图片
  4. Docker:You cannot remove a running container
  5. WebM VP8 SDK Usage/关于WebM VP8 SDK的用法
  6. 二叉树非递归后序遍历算法
  7. 交换机跟计算机系统有关系,网速跟交换机有关系吗
  8. windows核心编程读书笔记(一)
  9. mac配置php mysql_mac配置Apache+php+mysql
  10. 服务器端动态序列化与Unable to generate a temporary class报错
  11. 全国最新省市县联动mysql_全国省市县区三级联动数据库mysql3500条数据-html资源网...
  12. 双电阻差分电流采样_绝缘采样
  13. 使用阿里巴巴矢量图标库下载所需的小图标
  14. java 保存图片_java后台接受到图片后保存方法
  15. 秀动app抢票脚本_面向回家编程!GitHub 标星两万的 quot;Python 抢票教程”,我们先帮你跑了一遍...
  16. 【BP数据预测】斑点鬣狗算法优化BP神经网络数据预测【含Matlab 219期】
  17. html5页面生成动态二维码
  18. 黑龙江省谷歌地球高程DEM等高线下载
  19. 搭建:LVS+Keepalived高可用Web服务群集环境
  20. Spring、Mybatis、Spring MVC整合实例

热门文章

  1. 文献阅读-FCER1G与透明细胞癌中巨噬细胞的浸润相关并且通过调节肿瘤免疫产生不良预后
  2. 微信小程序中使用阿里矢量字体图标
  3. 计算机考试照片识别,PS照片JPEGsnoop帮你鉴别
  4. 2016年生物3D打印八大重要成果
  5. POI导出Excel(一)
  6. ibatis中resultMap和resultClass的区别 以及parameterClass 的取值
  7. Scrapy爬虫爬取电影天堂
  8. 嵌入式Linux驱动笔记(三十一)------SYSRQ组合键使用
  9. php artisan migrate,PHP artisan迁移不创建新表
  10. Linux 性能分析工具- Atop安装和使用