博客
关于我
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/

你可能感兴趣的文章
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
nativescript(angular2)——ListView组件
查看>>
NativeWindow_01
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
nat打洞原理和实现
查看>>
NAT技术
查看>>
NAT模式/路由模式/全路由模式 (转)
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT的全然分析及其UDP穿透的全然解决方式
查看>>
NAT类型与NAT模型详解
查看>>
NAT网络地址转换配置实战
查看>>
NAT网络地址转换配置详解
查看>>
navbar navbar-inverse 导航条设置颜色
查看>>
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Navicat for MySQL笔记1
查看>>
Navicat for MySQL(Ubuntu)过期解决方法
查看>>