返回单个Car
返回单个可以直接用Car接收返回参数
Car car=CarMapper.getOne(100);
返回多个Car
返回多个可以直接用List接收返回参数
List<Car> car=CarMapper.getAll();
用一个对象无法接受返回多个参数,用list可以接收返回一个参数
返回Map
如果没有合适的类对象接受参数可以考虑用Map接收
返回一个数据
key为返回字段,value为字段值
注意单个map只能接收一个数据
Map<String,Object> map=CarMapper.getOne(100);
返回多个数据
List<Map<String,Object> > map=CarMapper.getAll();
返回大Map集合
如果用List<Map<String,Object> >查找数据每次都要遍历集合
使用Map<key,Map<String,Object> > map可以简化这种操作,key为数据的id
@MapKey("id")
Map<Long,Map<String,Object> > selectAll();
Map<Long,Map<String,Object> > map=CarMapper.getAll();
返回结果映射
有时数据库查询过来的字段和类的属性名不同。我们需用as来起别名这是极其繁琐的
解决方式一
- id为在搜索语句中使用resutMap值的唯一标识
- type为要映射的全类名
- < id property=“id” colum=“id” />加上主键标签可以提高效率
- property为类的属性,colum为数据库的字段。
<resultMap id="carResultMap" type="com.example.webapplication.pojo.Car"><id property="id" colum="id" /><result property="createTime" colum="create_time" />
</resultMap><select resutMap="resultMap ">
...
</select>
解决方式二
在mybatis配置文件中配置,开启自动映射
注意使用这个java类命名要符合小驼峰规范,数据库字段要用下划线分割单词
<settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings>