Mybatis中,当实体类中的属性名和表中的字段名不一样 ,怎么办 ?


方法一:写SQL语句时起别名

	<select id="getEmployeeById" resultType="com.atguigu.mybatis.entities.Employee">
		select id,first_name firstName,email,salary,dept_id deptID from employees where id = #{id}
	</select>

方法二:在MyBatis的全局配置文件中开启驼峰命名规则

mapUnderscoreToCamelCase:true/false 
<!--是否启用下划线与驼峰式命名规则的映射(如first_name => firstName)-->
<configuration>  
    <settings>  
        <setting name="mapUnderscoreToCamelCase" value="true" />  
    </settings>  
</configuration>

方法三:在Mapper映射文件中使用resultMap来自定义映射规则

	<select id="getEmployeeById" resultMap="myMap">
		select * from employees where id = #{id}
	</select>
	
	<!-- 自定义高级映射 -->
    <resultMap type="com.atguigu.mybatis.entities.Employee" id="myMap">
    	<!-- 映射主键 -->
    	<id column="id" property="id"/>
    	<!-- 映射其他列 -->
    	<result column="last_name" property="lastName"/>
    	<result column="email" property="email"/>
    	<result column="salary" property="salary"/>
    	<result column="dept_id" property="deptId"/>
    </resultMap>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM