Mybatis中当数据库字段名和实体类属性名不相同时-如何设置呢?
下文笔者讲述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标签设置开启驼峰命名规则
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


