Mybatis中当数据库字段名和实体类属性名不相同时-如何设置呢?

戚薇 MyBatis 发布时间:2023-05-12 21:31:10 阅读数:15467 1
下文笔者讲述mybatis中数据库字段名和实体名不一致的处理方法分享,如下所示

字段名和实体名不一致的处理方法

方式1:
   在sql查询时返回结果时,
     使用as关键字,使其保持一致
方式2:
   在mapper.xml中定义resultMap时
   编写列名和实体名的映射关系
    使其一致

注意事项:
    mybatis中设置了驼峰命名映射
	 会自动将数据库中下划线的列名转换为驼峰命名的字段名
例:处理字段名和列名不一致的情况

pwd取别名为password

在 UserMapper.xml 文件中的 pwd 求别名为 password 如下:

<select id="getUserlist" resultType="user">
   select id,name,pwd as password from mybatis.user;
</select>
 

使用resultMap标签

<!--结果集映射-->
<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="getUserList" resultType="user" resultMap="UserMap">
   select id,name,pwd from mybatis.user;
</select>

下划线可设置驼峰命名规则

如果数据库中列名单纯的采用下划线
   可使用mybatis的setting标签设置中开启驼峰命名规则
      如:数据库字段 created_time,实体类 createdTime 。

<settings>
   <!--开启驼峰命名规则,可以将数据库字段的下划线映射为驼峰命名-->
   <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
 
总之处理数据表和实体类名称不一致的方法,如下所示
 1.取别名
 2.使用 resultMap 标签 (推荐使用)
 3.单纯下划线模式
    可使用setting标签设置开启驼峰命名规则
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/MyBatis/202305/6422.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者