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属性表示的是映射的关系,也就是数据库表中的列名

浙公网安备 33010602011771号