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标签设置开启驼峰命名规则
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。