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

你可能感兴趣的文章
Netty学习总结(1)——Netty入门介绍
查看>>
Netty学习总结(2)——Netty的高性能架构之道
查看>>
Netty学习总结(3)——Netty百万级推送服务
查看>>
Netty学习总结(4)——图解Netty之Pipeline、channel、Context之间的数据流向
查看>>
Netty学习总结(5)——Netty之TCP粘包/拆包问题的解决之道
查看>>
Netty学习总结(6)——Netty使用注意事项
查看>>
Netty实现Http服务器
查看>>
Netty客户端断线重连实现及问题思考
查看>>
Netty工作笔记0001---Netty介绍
查看>>
Netty工作笔记0002---Netty的应用场景
查看>>
Netty工作笔记0003---IO模型-BIO-Java原生IO
查看>>
Netty工作笔记0004---BIO简介,介绍说明
查看>>
Netty工作笔记0005---NIO介绍说明
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0007---NIO的三大核心组件关系
查看>>
Netty工作笔记0008---NIO的Buffer的机制及子类
查看>>
Netty工作笔记0009---Channel基本介绍
查看>>
Netty工作笔记0010---Channel应用案例1
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0012---Channel应用案例3
查看>>