博客
关于我
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清空表数据
查看>>
mysql源码安装
查看>>
Mysql源码安装过程中可能碰到的问题
查看>>
MySQL灵魂16问,你能撑到第几问?
查看>>
MySQL灵魂拷问:36题带你面试通关
查看>>
mysql状态分析之show global status
查看>>
mysql状态查看 QPS/TPS/缓存命中率查看
查看>>
mysql生成树形数据_mysql 实现树形的遍历
查看>>
mysql用于检索的关键字_Mysql全文搜索match...against的用法
查看>>
MySQL用得好好的,为什么要转ES?
查看>>
MySql用户以及权限的管理。
查看>>
MySQL用户权限配置:精细控制和远程访问的艺术!------文章最后有惊喜哦。
查看>>
mysql用户管理、常用语句、数据分备份恢复
查看>>
MySQL留疑问:left join时选on还是where?
查看>>
mysql登陆慢问题解决
查看>>
Mysql百万级数据查询优化
查看>>
MySQL的 DDL和DML和DQL的基本语法
查看>>
mysql的 if else , case when then, IFNULL
查看>>
MySQL的10种常用数据类型
查看>>