5、解决属性名和字段名不一致的问题

1、问题

数据库中的字段



新建一个项目,拷贝之前的,测试实体类字段不一致的情况。

public class User {
private int id;
private String name;
private String pwd;
}

//select * from mybatis.user where id = #{id}
//类型处理器
//select id,name,pwd from mybatis.user where id = #{id}

解决方法:

  • 起别名
select id,name,pwd as password from mybatis.user where id = #{id}

2、resultMap

结果集映射

id name pwd
id name password
<!--结果集映射-->
<resultMap id="UserMap" type="User">
<!--column数据库中的字段,property实体类中的属性-->
<result column=" id" property="id"/>
<result column="name" property="name"/>
<result column="pwd" property="password"/>
</resultMap>
<select id="getUserById" resultMap="UserMap" parameterType="int">
/*定义sql*/
select * from mybatis.user where id = #{id};
</select>
  • resultMap 元素是 MyBatis 中最重要最强大的元素
  • ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
  • ResultMap 最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。
  • 如果世界总是这么简单就好了。

MyBatis-05-解决属性名和字段名不一致的问题的更多相关文章

  1. [转]MyBatis动态传入表名、字段名参数的解决办法

    一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这 ...

  2. MyBatis构建sql时动态传入表名以及字段名

    今天项目需要用到动态表名,找到这一篇文章,亲测可用 用了mybatis很长一段时间了,但是感觉用的都是比较基本的功能,很多mybatis相对ibatis的新功能都没怎么用过.比如其内置的注解功能之类的 ...

  3. Mybatis-解决属性名和字段名不一致的问题

    解决属性名和字段名不一致的问题 目录 解决属性名和字段名不一致的问题 1. 问题 2. ResultMap 1. 问题 在数据库中,密码字段为pwd,而在实体类中为password package c ...

  4. mybatis动态调用表名和字段名

    以后慢慢启用个人博客:http://www.yuanrengu.com/index.php/mybatis1021.html 一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用 ...

  5. 【死磕jeesite源码】mybatis动态调用表名和字段名

    本文转载自夏雪冬日 一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字 ...

  6. SQL语句表名或者字段名和保留字冲突解决方法

    最近开发遇到一个很奇葩的问题,简单做一下笔记 select * from Add ... 以上SQL语句会报错. 原因Add是表名,SQL语句保留字中又有Add 解决方法: select * from ...

  7. MySQL 表名和字段名不要使用保留字命名

    今天测试代码,新建了一张 Order 表,使用的 MySQL 数据库. 插入数据的时候报语法错误,我检查了好几遍,也没看出 SQL 语句哪里有问题,于是从 MyBatis 的日志里拷贝出 SQL 语句 ...

  8. SQL语句改动表名和字段名

    今天有个暂时任务,改动生产环境的数据库表名和字段名.曾经要改动表名字段名都是在开发环境.直接打开 SQL Server找到相应的表或字段重命名就OK啦,但是这是线上数据库,再想直接F2改动是不可能的啦 ...

  9. oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息

    来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...

随机推荐

  1. TMS320C6455小介绍

    TMS320C6455是TI公司推出的的一款新型高性能单核定点DSP.它是TI公司基于第三代先进VeloviTI VLIW(超长指令字)结构开发出来的新产品,在通信,医疗图像,无线传输方面都可以大有作 ...

  2. Qt——树的搜索实现源码

    一.使用QTreeWidget 头文件: /************************************************************************ 树的搜索类 ...

  3. Memcache分布式锁

    在分布式缓存的应用中,会遇到多个客户端同时争用的问题.这个时候,需要用到分布式锁,得到锁的客户端才有操作权限 下面通过一个简单例子介绍: 这里引用的是Memcached.ClientLibrary.d ...

  4. spring中的BeanFactoryPostProcessor

    spring中的BeanFactoryPostProcessor和BeanPostProcessor有些像,BeanPostProcessor是在bean的初始化前后进行一些操作, BeanFacto ...

  5. JavaWeb开发常用的前端控件

    罗列的下述控件大多依赖jquery插件,故可提前导入jquery插件以免出错 Validform 提供对表单的验证.提交等功能,具体可查阅其官方文档>>>Validform 示例如下 ...

  6. centos7ping www.baidu.com没有ping通

    在linux中ping www.baidu.com 无法ping通,可能原因是DNS没配置好 1.修改vi /etc/resolv.conf 增加如下内容: nameserver 114.114.11 ...

  7. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  8. ShellCode 最小化编译优化

    1.生成ShellCode [root@localhost ~]# msfvenom -a x86 --platform Windows \ > -p windows/meterpreter/r ...

  9. spring-cloud 学习三 服务提供者

    基于spring-boot创建一个module提供服务 使用mysql数据库,dao使用mybatis,数据库连接池使用阿里的druid 添加maven依赖 <parent> <gr ...

  10. includes()函数的用法

    在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方 ...