Loading

Mybatis框架下数据库中的属性名与项目中实体类属性名的对应关系

首先我们知道数据库中的属性名与项目中实体类属性名需要对应起来,否则将出现增删改查找不到目标无法生效的问题,解决方法主要分为以下两种。

一、在实体类声明时保持实体类变量名与数据库属性名一致

这种方法在数据库表数量较少时比较好用,前期学习时我们的数据库结构简单,可以采用这种方式。

二、名称不一致时需要特别声明

主要方法有两种:

1. 在映射配置文件的sql语句中进行绑定

点击查看代码
<!-- 查询所有 -->
    <select id="findAll" resultMap="userMap">
        select id as userId,username as userName,address as userAddress,sex as userSex,birthday as userBirthday from user;
    </select>

2.在mapper标签中统一使用resultMap进行标记

点击查看代码
 <!-- 配置 查询结果的列名和实体类的属性名的对应关系 -->
    <resultMap id="userMap" type="uSeR">
        <!-- 主键字段的对应 -->
        <id property="userId" column="id"></id>
        <!--非主键字段的对应-->
        <result property="userName" column="username"></result>
        <result property="userAddress" column="address"></result>
        <result property="userSex" column="sex"></result>
        <result property="userBirthday" column="birthday"></result>
    </resultMap>

其中方法1在sql语句中直接绑定的效率相对方法2高,毕竟方法2多执行了一个xml语句,但实际开发中方法2开发效率高,各有优劣,可自行选择。

posted @ 2022-01-13 11:27  PDCoder  阅读(417)  评论(0)    收藏  举报