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

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

问题引出:

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

解决方式:

方式一:

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

方式二:

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

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

方式三:

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

<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>
相关文章
|
8月前
|
XML Java 数据库连接
解决在mybatis中使用class属性绑定映射文件出现的异常问题~
解决在mybatis中使用class属性绑定映射文件出现的异常问题~
|
1月前
|
SQL 缓存 Java
Mybatis面试题
Mybatis面试题
|
1月前
|
SQL Java 数据库连接
MyBatis常见面试题总结2
MyBatis常见面试题总结
32 0
|
1月前
|
SQL Java 数据库连接
MyBatis常见面试题总结1
MyBatis常见面试题总结
33 0
|
1月前
|
SQL Java 数据库连接
答案很详细的MyBatis面试题(含示例代码)
MyBatis是一种优秀的持久层框架,它是一个轻量级的、优化的、功能强大的Java持久层框架,它的设计理念是贴近SQL、便于使用、高效并且功能丰富。通过MyBatis的使用,开发者能够更加专注于业务逻辑的实现,而不用过多关注底层的数据库操作。MyBatis通过XML或注解的方式配置SQL映射文件,并将Java的POJO(Plain Old Java Object,普通的Java对象)与数据库中的记录进行映射,使得开发人员能够以面向对象的方式来操作数据库,同时兼顾了SQL的灵活性和效率。灵活的SQL映射。
152 0
|
8月前
|
SQL 安全 Java
Mybatis的动态SQL及关键属性和标识的区别(对SQL更灵活的使用)
Mybatis的动态SQL及关键属性和标识的区别(对SQL更灵活的使用)
34 0
|
1月前
|
SQL Java 数据库连接
MyBatis常见面试题和答案(2020最新版)
MyBatis常见面试题和答案(2020最新版)
197 0
|
11月前
|
SQL XML 缓存
2023年-Mybatis常见面试题
0RM(对象关系映射)它的作用是在关系型数据库和业务实体对象之间作一个映射,这样 我们在具体的操作业务对象的时候,就不需要再去和复杂的 SQL 语句打交道,只要像平时操 作对象一样操作它就可以了。比如咱们的 hibernate 和 mybatis 就是一个 orm 框架
81 0
|
1月前
|
SQL XML Java
2020新整理Java技术栈面试题-Mybatis面试题
2020新整理Java技术栈面试题-Mybatis面试题
58 0
|
1月前
|
SQL Java 数据库连接
9999道-互联网大厂Java工程师面试题-之Mybatis面试题篇[每道题都会有相应的实例进行讲解,甚至源代码分析等](连续更新第1次)
9999道-互联网大厂Java工程师面试题-之Mybatis面试题篇[每道题都会有相应的实例进行讲解,甚至源代码分析等](连续更新第1次)
47 0