当我们使用注解开发时有时会遇到数据库字段名与实体类属性名不一致的问题。xml方式开发可以通过结果集映射的方式解决,那注解方式开发要怎么解决呢?

注解解决方式:

@Results()注解

Results注解中有两个常用的参数,一个是id,另一个是value。

id:这个参数的主要作用在于唯一标记这个Results注解,如果接口中的其他抽象方法也需要通过result注解来解决属性名和数据库字段名不一致问题,那么重新写一个Results注解就太麻烦了,这时我们就可以通过@ResultMap()注解中传入Results注解的参数id来引用Results注解中的内容。举例:

public interface UserMapper {
@Select("select * from user")
@Results(id="aaa",value={
@Result(id=true,column = "id",property = "userId"),
@Result(column = "name",property = "userName"),
@Result(column = "age",property = "userAge")
})
List<User> getUsers(); @Select("select count(id) from user")
@ResultMap(value={"aaa"})
int findTotalUser();
}

代码示例

value:这个参数用于建立实体类与数据库表的映射关系,其中可以填写多个@Result注解,用来将实体类的属性名和数据库字段名一一对应。需要注意如果是主键字段,@Result注解中需要设置id=true。具体例子参考上边提供的代码。

mybatis——解决属性名和数据库字段名不一致问题(注解方式)的更多相关文章

  1. mybatis——解决属性名和数据库字段名不一致问题

    首先说一下,我的数据库名字叫mybatis,里边有一张user表,表中有三个字段,id.name.pwd:然后实体类中对应三个属性id.name.password(id和name跟数据库字段名一致,但 ...

  2. Mybatis——实体类属性名和数据库字段名不同时的解决方案

    数据库的字段: 对应的实体类: 方案一: 在XML映射文件中使用的resultMap,优点:可以被重复使用. <resultMap id="BaseResultMap" ty ...

  3. Mybatis中resultMap的作用-解决实体类属性名和数据库字段不一致

    解决实体类属性名和数据库字段不一致

  4. sql server数据库字段名要注意不能叫file

    sql server数据库字段名要注意不能叫file 如java 中  private string  file,这是sql 的关键字

  5. swoft orm中的坑(针对实体类的属性名称和数据库字段不相等)

    最近在用swoft的orm,发现了一些问题: 首先看下实体类的定义 它的属性名称和所映射的数据库字段名不一致,这个就会导致蛋疼的问题,首先,在我们使用orm的时候,应该使用哪个字段? 我直接说结论,在 ...

  6. Oracle—数据库名、数据库实例名、数据库域名、数据库服务名的区别

    Oracle-数据库名.数据库实例名.数据库域名.数据库服务名的区别 一.数据库名 1.什么是数据库名       数据库名就是一个数据库的标识,就像人的身份证号一样.他用参数DB_NAME表示,如果 ...

  7. 获取SQL数据库中的数据库名、所有表名、所有字段名、列描述

    1.获取所有数据库名:    (1).Select Name FROM Master.dbo.SysDatabases orDER BY Name 2.获取所有表名:    (1).Select Na ...

  8. SQLServer中获取所有数据库名、所有表名、所有字段名的SQL语句

    ----1. 获取所有的数据库名----- SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME -----2. 获取所有的表名------ S ...

  9. oracle 数据库字段名与实体类字段名称不匹配的处理方法

    之前公司一直都使用sql server 即使数据库字段名称与实体类名称不相同 可以使用诸如: select id as userId from tb_user 这种写法,可换到了oracle 之后坑爹 ...

随机推荐

  1. Access数据库及注入方法

    目录 Access数据库 Access数据库中的函数 盲注Access数据库 Sqlmap注入Access数据库 Access数据库 Microsoft Office Access是由微软发布的关系数 ...

  2. UVA10827球面上的最大和

    题意:      最大子矩阵的加强版,就是给你一个n*n的矩阵,每个格子里面都有数字,然后我们在里面选择一个矩阵,使得矩阵中所有数字的和最大,而且这个题目说这个n*n的矩阵的最右边和最左边是相邻的,最 ...

  3. Windows下包管理工具Bower的安装和使用

    目录 安装Bower Bower的使用 安装Bower Windows下安装Bower之前,先安装好 nodejs 和 msysgit 环境 然后我们就可以使用npm包管理工具下载并全局安装bower ...

  4. HTTP参数污染(HPP)漏洞

    HPP(HTTP参数污染) HPP是HTTP Parameter Pollution的缩写,意为HTTP参数污染.原理:浏览器在跟服务器进行交互的过程中,浏览器往往会在GET/POST请求里面带上参数 ...

  5. 通过 Netty、ZooKeeper 手撸一个 RPC 服务

    说明 项目链接 微服务框架都包括什么? 如何实现 RPC 远程调用? 开源 RPC 框架 限定语言 跨语言 RPC 框架 本地 Docker 搭建 ZooKeeper 下载镜像 启动容器 查看容器日志 ...

  6. CentOS安装Redis报错[server.o] Error 1

    原因 准备安装的Redis服务版本为6.0.8, gcc的版本为4.8.5,可能是gcc版本过低到导致的 解决办法 安装低版本Redis或者安装高版本gcc

  7. Morgan Stanley Books List:经典金融书籍推荐

    一.经济学 1. 中华帝国的专制制度,佛朗索瓦.魁奈 2. 资本论(共3卷),马恩全集 3. 国家竞争优势,麦克尔.波特 4. Essentials of corporate analysis, by ...

  8. [Java] 数据分析 -- 大数据

    单词计数 需求:输入小说文本,输出每个单词出现的次数 实现:分map.combine.reduce三个阶段实现 1 /* Data Analysis with Java 2 * John R. Hub ...

  9. https://www.jqhtml.com/30047.html strace + 命令: 这条命令十分强大,可以定位你程序到底是哪个地方出了问题

    https://www.jqhtml.com/30047.html 我的Linux手册 服务器 浏览数:72 2019-1-30 原文链接 基础安装 # CentOS sudo yum install ...

  10. MySQL配置HeartBeat实现心跳监控和浮动IP

    1. 初始化环境配置 /sbin/chkconfig --add mysqld /sbin/chkconfig mysqld on ln -s /usr/local/mysql/bin/mysql / ...