使用Mybatis时实体类属性名和表中的字段名不一致导致结果无法映射到实体类的解决办法
2017-03-07 09:31
483 查看
开发中,实体类中的属性名和对应的表中的字段名不一定都是完全相同的,这样可能会导致用实体类接收返回的结果时导致查询到的结果无法映射到实体类的属性中,那么该如何解决这种字段名和实体类属性名不相同的冲突呢?
方法一:通过在查询的SQL语句中定义字段名的别名的方式,让字段名的别名和实体类中的属性名一致,这样就可以实现实体类属性和表字段一一对应。(通过在SQL语句中定义别名的方法实现)
方法二:通过<resultMap>来映射字段名和实体类属性名的一一对应关系。(使用Mybatis提供的解决方法)
方法一:通过在查询的SQL语句中定义字段名的别名的方式,让字段名的别名和实体类中的属性名一致,这样就可以实现实体类属性和表字段一一对应。(通过在SQL语句中定义别名的方法实现)
<select id="queryCertificationInfoByCerNumber" parameterType="string" resultMap="certificationResultMap"> SELECT cer_number cerNumber FROM, cer_time cerTime, cer_type cerType t_diamond_allinfo_gia WHERE cer_number = #{cerNumber} </select>
方法二:通过<resultMap>来映射字段名和实体类属性名的一一对应关系。(使用Mybatis提供的解决方法)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.jqscm.mapper.SearchMapper"> <select id="queryCertificationInfoByCerNumber" parameterType="string" resultMap="certificationResultMap"> SELECT * FROM t_diamond_allinfo_gia WHERE cer_number = #{cerNumber} </select> <!-- 通过resultMap映射实体类和表字段的关系 --> <resultMap type="CertificationInfo" id="certificationResultMap"> <!-- 用id属性来映射主键字段 --> <id property="cerNumber" column="cer_number"/> <!-- 用result属性来映射非主键字段 --> <result property="cerTime" column="cer_time"/> <result property="cerType" column="cer_type"/> <result property="shape" column="shape"/> <result property="size" column="size"/> </resultMap> </mapper>
相关文章推荐
- Mybatis实体类属性与数据库字段不一致解决办法
- MyBatis解决字段名和实体类属性名不相同冲突问题时返回查询结果为空
- 在Mybatis中,解决数据库字段名与java实体类属性名不一致的三种方式
- 使用gradle管理ssm项目,出现mybatis的*.xml映射文件无法打入到war包里,解决办法!
- MyBatis学习笔记:表字段名与实体类属性名不一致的解决方法
- 使用dwr同步调用导致无法获取js方法的返回结果问题的解决办法
- MyBatis框架解决字段名与实体类属性名不一致的情况
- struts2的实体类映射成数据库表格时,实体类的某个属性类型设为date,但是映射结果在数据库中是datetime类型的,这个时候我们应该采用的解决办法
- MyBatis学习笔记-03.MyBatis中五种成功映射数据库字段与实体类属性不一致的解决方案
- Mybatis中实体类中的字段跟对应表的字段不一致时解决办法
- python升级导致yum命令无法使用的解决办法
- SQLite无法使用drop column删除表字段解决办法
- 环境变量设置错误导致全部命令无法使用解决办法
- 织梦dedecms — advancedsearch精确查询,根据自定义字段查询,查询结果页面无法调用自定义字段,头部,尾部,解决办法
- Mybatis解决属性名与字段名不一致
- mybatis(四)——mybatis解决数据库表字段名与实体类属性名不同的冲突
- mybatis中类属性和数据表字段不一致的解决方法
- 升级python版本导致Django无法使用的解决办法
- Mybatis解决属性名与字段名不一致
- SQLite无法使用drop column删除表字段解决办法