博客
关于我
07 sql映射之返回值自定义映射(resultMap)
阅读量:231 次
发布时间:2019-03-01

本文共 1307 字,大约阅读时间需要 4 分钟。

文章目录

resultMap配置数据库和java对象的映射,之前都是自动映射:自动映射有个前提条件:

  • 数据库的列名和java实体的属性名要一致或者符合驼峰命名(并且开启驼峰命名)
  • 全局配置文件中开启自动映射,默认就是开的

1 入门

  1. 数据表是这样的
CREATE TABLE `tb_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL COMMENT '用户名', `password` varchar(60) NOT NULL COMMENT '密码,加密存储', `phone` varchar(11) DEFAULT NULL COMMENT '注册手机号', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='用户表';
  1. 但是实体类属性名没有和表中字段名一致
@Data@ToStringpublic class TbUser2 implements Serializable {       private Long id;    // ussername -->name    private String name;    private String password;    // phone -->mobile    private String mobile;    private String createTime;    private String updateTime;}
TbUser2 select1(@Param("id") Long id);

测试v

@Test    public void test04() {           TbUser2 tbUser2 = tbUserMapper.select1(1L);        System.out.println(tbUser2);    }

成功映射:

TbUser2(id=1, name=kobe, password=123456, mobile=13100001111, createTime=2019-04-04 22:58:26.0, updateTime=2019-04-04 22:58:26.0)

虽然resultMap可以只配置存在差异的列和属性,但是建议如果要配置resultMap,那么就全部字段都配置上去,方便查看

转载地址:http://zsrv.baihongyu.com/

你可能感兴趣的文章
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>