三种方法解决属性名和数据库字段名不一致的问题
一、mapper.xml中sql语句起别名
代码如下(示例):
<select id="getUserById" resultType="com.xu.pojo.User">
select id,name,pwd as password from mybatis.user where id = #{id}
</select>
二、结果集映射(resultMap)
代码如下(示例):
<!--结果集映射-->
<!-- id属性:通常设置为这个resultMap所服务的那条SQL语句的id加上“ResultMap” -->
<!-- type属性:要设置为这个resultMap所服务的那条SQL语句最终要返回的类型 mybatis配置文件中已起别名 -->
<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">
select * from mybatis.user where id = #{id}
</select>
resultMap 元素是 MyBatis 中最重要最强大的元素
ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
三、开启驼峰命名规则 (mybatis配置文件中配置)
代码如下(示例):
<settings>
<!--开启驼峰命名规则,可以将数据中的下划线映射为驼峰命名,例如:last_name映射为lastName-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<settings/>