Mybatis 框架篇章四

举报
兰舟千帆 发表于 2022/07/21 18:04:29 2022/07/21
【摘要】 现在用到一个插件 MyBatisXMybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。 主要功能 XML映射配置文件 和 接口方法 间相互跳转 根据接口方法生成 statement安装方式就是可以去idea的插件商店进行安装,安装好后重启idea可以发现这样的图标这个简化操作主要体现在这里,对于如果有多个接口或者是映射文件的时候这样的简化可以带给我们很大的方便。存在的一个问题...

现在用到一个插件 MyBatisX

MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。 主要功能 XML映射配置文件 和 接口方法 间相互跳转 根据接口方法生成 statement

安装方式就是可以去idea的插件商店进行安装,安装好后重启idea可以发现这样的图标
image.png
image.png
这个简化操作主要体现在这里,对于如果有多个接口或者是映射文件的时候这样的简化可以带给我们很大的方便。

存在的一个问题就是如果我们的数据库字段属性和java类体的字段属性不以言不放过的话,我们查询到的就只是空的数据。我们最终采用的解决办法。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--
    namespace:名称空间
-->
<!---->
<mapper namespace="mapper.BrandMapper">
    <resultMap id="brandResultMap" type="brand">
<!--        不一样的写这里-->
<!--        id完成主键字段的映射
-->
<!--        result 完成一般字段的映射-->
        <result column="brand_name" property="brandName"/>
        <result column="company_name" property="companyName"/>
    </resultMap>
    <select id="selectAll" resultMap="brandResultMap">
        select * from tb_brand;
    </select>
<!--    数据库表的字段名称和实体类属性名称不一样,则不会自动封装数据,

起别名:对不一样的列明起别名,让别名和实体类的属性名一样
缺点就是每次都要定义一次别名,非常不方便-->
<!--    可以使用sql片段-->
<!--    不灵活-->
<!--    <sql id="brand_colum">-->
<!--        id,brand_name as brandName,company_name as companyName,ordered,description,status-->
<!--    </sql>-->
<!--    <select id="selectAll" resultType="jgdabc.Brand">-->
<!--#         select *-->
<!--#         from tb_brand;  ;-->
<!--        select-->
<!--            <include refid="brand_colum"></include>-->
<!--        from tb_brand;-->
<!--    </select>-->

</mapper>

如果你的表在数据库变了,那么还需要在核心配置文件更换一下数据库。
image.png
注释部分是我们尝试过的,我们最终尝试的就是红框里面的,可以对照上诉粘贴出来的代码。
我们采用的是resultMap方式完成了不一致的属性名和列名的映射。
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。