zoukankan      html  css  js  c++  java
  • mybatis之多个对象自动装配问题

    因为业务的需要,所以我在一个方法中植入三个对象,但是mybatis并没有自动装配,结果并不是我想的那么美好,还是报错了。报错截图如下:

    <select id="GetOneBillPageData" resultMap="billMapper">
            select smbms_bill.`billCode`,smbms_bill.`id`,
            smbms_bill.`isPayment`,smbms_bill.`totalPrice`,
            smbms_bill.`creationDate`,smbms_provider.`proName`
            from smbms_bill,smbms_provider
            <where>
                smbms_provider.`id`=smbms_bill.`pid`
                <if test="productName!=null">
                    AND productName like concat('%',#{productName},'%')
                </if>
                <if test="isPayment!=null">
                    AND isPayment=#{bill.isPayment}
                </if>
                <if test="proName!=null">
                    AND proName=#{proName}
                </if>
            </where>
            limit #{pageIndex},#{pageSize}
        </select>

    我在网上还是找了挺多的解决方案的,但是似乎大部分都不太管用,最后我看见了别人用注解来解决这个问题的,所以我也用这种方式来解决,截图如下:

    接口中的方法:

    public List<smbms_bill> GetOneBillPageData(@Param("provider") smbms_provider Provider, @Param("bill") smbms_bill bill, @Param("page") Page page);
    <select id="GetOneBillPageData" resultMap="billMapper">
            select smbms_bill.`billCode`,smbms_bill.`id`,
            smbms_bill.`isPayment`,smbms_bill.`totalPrice`,
            smbms_bill.`creationDate`,smbms_provider.`proName`
            from smbms_bill,smbms_provider
            <where>
                smbms_provider.`id`=smbms_bill.`pid`
                <if test="bill.productName!=null">
                    AND smbms_bill.productName like concat('%',#{bill.productName},'%')
                </if>
                <if test="bill.isPayment!=null">
                    AND isPayment=#{bill.isPayment}
                </if>
                <if test="provider.proName!=null">
                    AND proName=#{provider.proName}
                </if>
            </where>
            limit #{page.pageIndex},#{page.pageSize}
        </select>

    最关键的是,让他们每个都对号入座。就不存在所谓的对象与属性混乱了,注解的方式还是挺好使的。大家要是还有比我这个更好的办法或有什么不懂的地方,欢迎大家一起讨论。

  • 相关阅读:
    Vue脚手架runtime-only中render函数的参数为什么是h?
    Vue中的 key 属性
    TypeScript安装以及使用
    Vue浏览器调试工具VueTools安装以及使用
    VueRouter路由跳转报错:vue-router.esm.js?fe87:2100 Uncaught (in promise) NavigationDuplicated
    VSCode使用webpack指令,因为在此系统上禁止运行脚本。
    尤雨溪在 vue3.0 beta 上推荐的 no webpack 小工具 vite
    celery task异步任务
    Notepad++使用
    Django基础013--redis开发
  • 原文地址:https://www.cnblogs.com/quliang/p/7205727.html
Copyright © 2011-2022 走看看