1.返回实体类
2.返回List<实体类>
3.返回Map
4.返回List<Map>
5.返回Map<String,Map>
6.resultMap结果集映射
7.返回总记录条数
新建模块
依赖
目录结构
1.返回实体类 如果返回多条,用单个实体接收会出异常
2.返回List<实体类> 即使返回一条记录 也可以用List<实体类> 接收
3.返回Map 这个其实就为偷懒,不想写类接收 查出来的数据库字段名做为key 值作为value
当然你可以起别名来作为Key
至于接收类型完全可以用Map<String,String>
4.返回List<Map> 还是为了省事,返回多个实体就是返回多个Map
同样你可以起别名来作为Key
5.返回Map<String,Map> 这种方式和List<Map>是差不多的
只不过Map<String,Map>来接收的话,他会有个Key 举例
List<Map<String,String>>结构是:
[{sex=男, name=张三, birth=1980-10-11, id=1, age=20, height=178.0}, {sex=男, name=李四, birth=1978-02-03, id=2, age=22, height=175.0}, {sex=男, name=王五, birth=1977-06-01, id=3, age=23}, {sex=女, name=赵六, birth=2023-09-19, id=4, age=25, height=172.0}]
简写就是[{name=zhangsan,age=14},{name=lisi,age=15}]这种
而Map<String,Map>的结构就是这样
{key1={name=zhangsan,age=14},key2={name=lisi,age=15}}
具体key取值一般是主键的值,这样就方便取了
6.resultMap结果集映射 有时候当数据库字段和实体类字段不同时候比如 数据库字段是car_num
实体类是carNum,这是有3种做法
1.自动转驼峰配置
在mybatis核心配置文件中 即可开启驼峰命名自动映射
使用自动转驼峰配置:要满足以下规范
1.java命名规范:首字母小写,后面每个单词首字母大写,遵循驼峰命名方法
2.SQL命名规范:全部小写,单词之间采用下划线分割
例如: carNum---->car_num carType----->car_type produceTime----->produce_time
2.结果集映射
3.别名
这里用下resultMap
主键你用result也是可以的 但是用id可以提高效率
如果数据库字段和实体类属性相同,可以不配置,这里只是介绍用法
7.返回总记录条数
返回值类型可以String Long Integer long int
注意:
select count(具体某个字段) from t_student
如果是具体某个字段,他会排除null
关于resultType Mybatis中内置的别名
mybatis – MyBatis 3 | 配置