zoukankan      html  css  js  c++  java
  • Mybatis@options注解属性useGeneratedKeys,keyProperty,keyColumn的使用

    @option注解标签useGeneratedKeys=true表示使用数据库自动增长的主键,keyColumn用于指定数据库table中的主键,keyProperty用于指定传入对象的成员变量。

    public interface VideoOrderMapper {
    
        /**
         * 查询用户是否购买过此商品
         * @param userId
         * @param videoId
         * @param state
         * @return
         */
        VideoOrder findByUserIdAndVideoIdAndState(@Param("user_id") int userId,@Param("video_id") int videoId,@Param("state") int state);

    Springboot中 Mybatis 配置文件 Mapper参数
    useGeneratedKeys=“true” keyProperty=“id”
    useGeneratedKeys设置为 true 时,表示如果插入的表id以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键id返回。
    useGeneratedKeys参数只针对 insert 语句生效,默认为 false;

    <?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" >
    <mapper namespace="ren.redface.demo.mapper.VideoOrderMapper">

       <!--插入订单的接口;取值顺序不能错乱--> <insert id="saveOrder" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> INSERT INTO `video_order` (`out_trade_no`, `state`, `create_time`, `total_fee`, `video_id`, `video_title`, `video_img`, `user_id`) VALUES (#{outTradeNo,jdbcType=VARCHAR},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{totalFee,jdbcType=INTEGER}, #{videoId,jdbcType=INTEGER},#{videoTitle,jdbcType=VARCHAR},#{videoImg,jdbcType=VARCHAR},#{userId,jdbcType=INTEGER}) </insert>

    </mapper>

     

    参考:

    Mybatis 参数 useGeneratedKeys ,keyColumn,keyProperty作用和用法

    Mybatis中自动生成主键

  • 相关阅读:
    jsp标签${fn:contains()}遇到问题记录
    maven更改本地的maven私服
    elk使用记录
    dubbo 报错问题记录:may be version or group mismatch
    mybatis自动生成后无法获取主键id问题
    tomcat关闭异常导致的项目无法重启
    jsp 记录
    spring bean
    JDBC
    el表达式
  • 原文地址:https://www.cnblogs.com/ooo888ooo/p/13222025.html
Copyright © 2011-2022 走看看