mybatis中带下划线变量的映射问题

mybatis从数据库里获取信息映射到实体类的时候,带下划线的数据映射不过来。。。。比如我定义一个实体类Categoryintid;intparent_id;String... mybatis从数据库里获取信息映射到实体类的时候,
带下划线的数据映射不过来。。。。
比如我定义一个实体类Category
int id;
int parent_id;
String name;
String en_name;
数据库对应的表:category
int id;
int parent_id;
varchar name;
varchar en_name;

我用mybatis取数据库中这四个字段的时候,id 和name 都能正常取到,但是带下划线的parent_id 、en_name 都取不到,,,

把它们改成驼峰式praentId enName 就可以了,,,,
不想去改数据库字段啊,好麻烦,有其他办法解决吗?
展开
 我来答
18225528130
推荐于2018-02-27
知道答主
回答量:1
采纳率:0%
帮助的人:962
展开全部
<!-- 是否开启自动驼峰命名规则(camel case)映射, -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
mybatis配置文件设置了这项后,查询出来的字段如果带下划线,那么就会去掉下划线,然后采用java驼峰规则。比如数据库字段Parent_id,那么查询出来后,会转为parentid,然后去实体类Category匹配对应的字段。 因为你实体类里有下划线,所以匹配不上。要么采用resultMap 要么禁用掉驼峰规则(不建议禁用)。如果不想该实体类的话,建议采用resultMap。
zjgzhengxian
推荐于2016-10-12 · TA获得超过1276个赞
知道小有建树答主
回答量:736
采纳率:100%
帮助的人:372万
展开全部

我一般都用自定义的resultMap

<!-- type指向你的javabean类,id可以自定义 -->
<resultMap type="Category" id="category">
    <!-- property对应实体类的属性名称,column为数据库结果集的列的名称 -->
   <id property="id" column="id" />
   <result property="parent_id" column="parent_id"/>
   <result property="name" column="name"/>
   <result property="en_name" column="en_name"/>
</resultMap>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式