mybatis中parameterType为string和其他自定义封装对象的区别

本文详细解析了MyBatis中使用不同参数类型时的处理方式,包括字符串参数和对象参数的具体应用,以及如何在mapper接口和XML配置中正确设置参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、parameterType为String时,需要在mapper接口中定义@Param要传入的字符串名

xxMappper.xml

 <!--获取动态指标明细数据接口-->
    <select id="tableName" parameterType="String" resultMap="DynaResultMap">
        SELECT
         *
        FROM
            t_dynatable_fields
        WHERE
            DYNA_KEY = #{dynaKey,jdbcType=VARCHAR}
    </select>

xxMapper接口

List<DynaTableField> tableName(@Param("dynaKey") String dynaKey);
2、parameterType为对象时,因为已经在对象中定义了属性,所以在mapper接口中就不要添加了@Param或者什么标注了

xxmap.xml文件

<insert id="insert" parameterType="com.jsptpd.gayg.modules.cloud.model.EnterpriseBase">
        insert into t_enterprise_base_info (ENTERPRISE_ID, ENTERPRISE_NAME, ENTERPRISE_USCC,
        GD_INFO, HG_CODE, ESTABLISH_DATE,
        REGIST_CAPITAL, ENTERPRISE_ADDRESS, ENTERPRISE_SCOPE,
        LEGAL_NAME, CONTACT_PHONE, IS_INVEST,
        PARK_TYPE, WORKSHOP_POS, WORKSHOP_AREA,
        INDUSTRY_CLASS, INDUSTRY_CATEGORY, TRIAL_TIME,
        INVEST_TIME, PRODUCT_TIME, BUSI_INFO,
        ENTERPRISE_TYPE, REMARK, STATUS,
        OPERATOR, OPERATE_TIME)
        values (#{enterpriseId,jdbcType=VARCHAR}, #{enterpriseName,jdbcType=VARCHAR}, #{enterpriseUscc,jdbcType=VARCHAR},
        #{gdInfo,jdbcType=VARCHAR}, #{hgCode,jdbcType=VARCHAR}, #{establishDate,jdbcType=DATE},
        #{registCapital,jdbcType=DECIMAL}, #{enterpriseAddress,jdbcType=VARCHAR}, #{enterpriseScope,jdbcType=VARCHAR},
        #{legalName,jdbcType=VARCHAR}, #{contactPhone,jdbcType=VARCHAR}, #{isInvest,jdbcType=INTEGER},
        #{parkType,jdbcType=INTEGER}, #{workshopPos,jdbcType=VARCHAR}, #{workshopArea,jdbcType=DECIMAL},
        #{industryClass,jdbcType=INTEGER}, #{industryCategory,jdbcType=INTEGER}, #{trialTime,jdbcType=DATE},
        #{investTime,jdbcType=DATE}, #{productTime,jdbcType=DATE}, #{busiInfo,jdbcType=INTEGER},
        #{enterpriseType,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
        #{operator,jdbcType=VARCHAR}, #{operateTime,jdbcType=TIMESTAMP})
    </insert>

xxmap接口

int insert(EnterpriseBase record);

本文转载自:https://www.jianshu.com/p/db20f3224038

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值