Java日记2018-07-12-sbs整合5

1 昨天遇到的问题

通过mybatis动态代理的方式查询数据库中的信息成功,但是结果返回不是期望的;
观察后发现user类与数据库中的字段名并没有完全一致,修改user类与数据库名保持一致,问题解决;

2 那么问题来了,是否有方法让数据库字段与user字段不一致的情况下,自动完成映射吗?

答案当然是可以,参考文章https://blog.csdn.net/u010376788/article/details/77512992
为了避免丢失,在此也记录一下:
两种解决方案:

  1. 在使用 SQL 语句的时候,为每个字段定义别名;
    例子:
<select id="selectWithAlias" parameterType="int" resultType="Order">
    select order_id id, order_no orderNo, order_price price
    from orders
    where order_id = #{id}
</select>
  1. 使用 MyBatis 映射文件的 resultMap 标签。
image.png

例子

<select id="selectWithMapping" parameterType="int" resultMap="OrderMapping">
    select order_id, order_no, order_price
    from orders
    where order_id = #{id}
</select>
<!-- 通过<resultMap>映射实体类属性名和表的字段名对应关系 -->
<resultMap id="OrderMapping" type="Order">
    <!-- id属性来映射主键字段 -->
    <id column="order_id" property="id" javaType="int"/>
    <!-- result属性映射非主键字段 -->
    <result column="order_no" property="orderNo" javaType="String"/>
    <result column="order_price" property="price"/>
</resultMap>

3 下一步计划,查看mybatis动态代理的原理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,190评论 0 4
  • 小的时候,最不喜欢的事就是写作文、写日记、写周记,总感觉很无聊,生活那么多好玩的事,为什么要多了写日记这种无聊的事...
    风的故事阅读 1,832评论 0 0
  • 情节走得很快,前面四章述写交代许三观名由第三个孙子而来,父亲早逝,母亲也跑了。懵懵懂懂第一次去卖血,居然靠这笔钱结...
    第24小时阅读 3,161评论 0 0
  • 趣店疑遭数据泄密的风波还没有平息,最近,一篇《一位92年女生致周鸿祎:别再盯着我们看了》为标题的文章刷爆了网络。其...
    Redline阅读 5,514评论 0 0
  • 合则强,孤则弱,与人合作乃是兴盛之道。 凡益之道,与时偕行。 各美其美,美人之美,美美与共,天下大同。 万物并育而...
    紫色蒲公英_2阅读 1,895评论 0 5

友情链接更多精彩内容