mybatis中的参数深入

一、mybatis的参数

parameterType参数

该参数表示的是输入类型

1、传递简单类型

像int、string这种属于简单类型

2、传递pojo对象

pojo对象就是我们所说的JavaBean,mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称

什么是ognl表达式?
在这里插入图片描述

3、传递pojo包装对象

开发中通过实体类的包装对象(pojo包装对象)传递查询条件,查询条件是总和的查询条件,不仅宝库偶用户的查询条件,还包括其它的查询条件,这时候使用包装对象传递输入参数

举例说明,我们的QueryVo类中可以有多个对象,这里我们只存放一个user类
在这里插入图片描述
在这里插入图片描述
因为通过ognl表达式可以使用属性名打点调用的方式来将user中的username当作参数,同时也可以将别的类的属性当作参数传递进来
在这里插入图片描述
在这里插入图片描述

二、mybatis的输出结果的封装

resultType(输出类型)

mysql在windows系统下不区分列名的大小写,linux中严格区分大小写

在这里插入图片描述

当我们的实体类封装的时候,如果属性名和数据库中的列名,我们在使用mybatis查询的时候是查询不到的,那么我们如何解决这样的问题
在这里插入图片描述
我们只需要使封装的属性和表中的列名对应上就可以,

第一种解决方式:
查询数据库的时候起别名的方式
在这里插入图片描述
第二种解决方式,使用mybatis配置:
在这里插入图片描述
解释说明标签中的属性

  • 如果哪一行sql语句想使用resutMap中的对应关系就需要设置resultMap属性和resuletMap标签中的id属性相同
  • resultMap中的type属性表示的是封装的实体类
  • id标签和property标签中的property表示的是封装的实体类中的属性
  • id标签和property标签中的column属性表示的是映射的关系,也就是数据库表中的列名
posted @ 2021-01-04 18:08  谢海川  阅读(62)  评论(0)    收藏  举报