一、Mybatis的参数
1. parameterType(输入类型)
该参数表示一个参数类型,但如果有多个参数的话,就不能使用该参数了。
2. 传递简单类型
3. 传递pojo对象
Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称
OGNL表达式
全称Object Graphic Navigation Language(对象图导航语言),它是通过对象的取值方法来获取数据。在写法上把get省略了
mybatis中直接写username,而不用user.:因为在parameterType中已经提供好了属性所属的类,所以此时不需要写对象名
4. 传递pojo包装对象
开发过程中通过pojo传递查询条件,查询条件是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如将用户购买的商品信息也作为查询条件),这时可以使用包装对象传入输入参数。即POJO类中包含pojo。
二、Mybatis的输出结果封装
resultType(输出类型)
输出简单类型
输出pojo对象
输出pojo列表
三、resultMap结果类型
resultType可以指定pojo将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名2和属性名作一个对应关系,resultMap实质上还需要将查询结果映射到pojo对象中。resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一2查询和一对多查询。
1. UserDao.xml定义
通过改别名的方式,这种方式的执行效率较高
2. 定义resultMap
这种方式开发效率较高