【Mybatis】常见面试题:字段名和属性名不一致时三种处理方式

2023-10-10 15:26:18 浏览数 (1)

问题引出:

在使用Mybatis操作数据库时:在类中属性的命名方式通常我们采用驼峰式empName命名,但是在数据库中的字段名我们通常使用emp_name来命名,这就导致属性名和字段名不一致,在查询时就会出现查询不到数据

解决方式:

方式一:

为字段起别名,保证和实体类中的属性名保持一致

方式二:

设置mybatis的全局配置 在mybatis-config.xml中添加:

代码语言:javascript复制
 <!-- 设置mybatis的全局配置  -->
    <settings>
        <!-- 将下划线自动映射为驼峰emp_name对应empName-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

方式三:

通过resultMap设置自定义的映射关系

代码语言:javascript复制
<resultMap id="empResultMap" type="Emp">
        <id property="eid" column="eid"></id>
        <result property="empName" column="emp_name"></result>
        <result property="age" column="age"></result>
        <result property="sex" column="sex"></result>
        <result property="email" column="email"></result>
    </resultMap>

<select id="getAllEmp" resultMap="empResultMap">
        select * from t_emp
    </select>

0 人点赞