在逛论坛时候,发现了一篇文章,文章链接:https://www.jianshu.com/p/b4eb438e4361 。读了读,然后总结一下,学习学习。
在使用Mybatis时候,最常做的就是查询数据,从数据库中将数据查询出来,然后封装成对象返回。
出现的问题:在使用Mybatis封装数据的时候,默认情况需要数据库的字段名称和要封装的pojo是一样的。但是我们在数据库中一般都是用下划线来分开。但是在java代码中pojo都是用驼峰法来实现的。这里就出现了不一致的问题。
结果的办法一共有三个:
1.最长用的 使用resultMap将数据进行整理,
<resultMap id="test" type="com.yntech.model.Test" > <id column="house_id" property="houseId" jdbcType="BIGINT" /> <result column="lock_id" property="lockId" jdbcType="BIGINT"/> </resultMap>
在标签resultMap中将数据库字段和pojo字段对应,在返回结果中就使用resultMap即可
2.在写的sql语句中起别名,将查询的字段,从下划线全部起成和java字段一样的名字。这样也可以对应上
3.在配置文件中,启用下划线和驼峰命名规则的映射。
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>