mybatis主键返回语句 使用方法,就是实体类.getid即可拿到返回的id

<insert id="insertSelective" parameterType="com.o2o.Content"
        useGeneratedKeys="true" keyProperty="id">
        insert into notice_ncontent
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">
                id,
            </if>
            <if test="vid != null">
                vid,
            </if>
            <if test="ntype != null">
                ntype,
            </if>
            <if test="canentry != null">
                canentry,
            </if>
            <if test="title != null">
                title,
            </if>
            <if test="ispush != null">
                ispush,
            </if>
            <if test="entrycount != null">
                entrycount,
            </if>
            <if test="isvalid != null">
                isvalid,
            </if>
            <if test="content != null">
                content,
            </if>
            <if test="ctime != null">
                ctime,
            </if>
            <if test="cuserid != null">
                cuser,
            </if>
            <if test="stick != null">
                stick,
            </if>
            <if test="limitcount != null">
                limitcount,
            </if>
            <if test="description != null">
                description,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">
                #{id,jdbcType=INTEGER},
            </if>
            <if test="vid != null">
                #{vid,jdbcType=INTEGER},
            </if>
            <if test="ntype != null">
                #{ntype,jdbcType=TINYINT},
            </if>
            <if test="canentry != null">
                #{canentry,jdbcType=TINYINT},
            </if>
            <if test="title != null">
                #{title,jdbcType=VARCHAR},
            </if>
            <if test="ispush != null">
                #{ispush,jdbcType=TINYINT},
            </if>
            <if test="entrycount != null">
                #{entrycount,jdbcType=INTEGER},
            </if>
            <if test="isvalid != null">
                #{isvalid,jdbcType=INTEGER},
            </if>
            <if test="content != null">
                #{content,jdbcType=LONGVARCHAR},
            </if>
            <if test="ctime != null">
                #{ctime,jdbcType=BIGINT},
            </if>
            <if test="cuserid != null">
                #{cuserid,jdbcType=INTEGER},
            </if>
            <if test="stick != null">
                #{stick,jdbcType=INTEGER},
            </if>
            <if test="limitcount != null">
                #{limitcount,jdbcType=INTEGER},
            </if>
            <if test="description != null">
                #{description,jdbcType=VARCHAR},
            </if>
        </trim>
    </insert>

通过上叙就可以获取自动主键,但是一般开发中都是自己生产主键进行开发,这个是利用数据库自增主键来进行的

原文地址:https://www.cnblogs.com/xiufengchen/p/10349894.html

时间: 2024-10-24 04:11:52

mybatis主键返回语句 使用方法,就是实体类.getid即可拿到返回的id的相关文章

mybatis主键返回的实现

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键. 比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */ public intinsertUser(User user) throw

MyBatis系列二 之 数据库列名于程序实体类中字段名称不一致

MyBatis系列二  之   数据库列名于程序实体类中字段名称不一致 情景:当数据库中的列名与我们程序实体类中的字段名称不一致         使用ResultMap节点配置信息  在映射文件中  mapper根节点下配置ResultMap节点信息 <resultMap type="Student" id="studentMapper"> <result column="sname" property="stunam

mybatis执行insert后马上能获取自增主键的语句写法

<!--keyColumn keyProperty useGeneratedKeys 用于在插入数据后,能直接使用user.getId()获取主键--> <insert id="insert" keyColumn="Id" keyProperty="id" parameterType="com.chinacarbonal.carboncms.bean.UserRole" useGeneratedKeys=&q

mybatis主键返回

在项目开发中,有时需要获取主键值. 比如在表的关联关系中,将数据插入主表之后需要再插入子表,我们需要把主表的主键作为外键插入子表中. 这样的话就需要获取主键值了. 所以涉及主键返回的问题. 1.自增主键的返回 MYSQL自增主键,执行insert提交之前自动生成一个自增主键. 通过mysql函数获取到刚刚插入的记录的自增主键. LAST_INSERT_ID(),在insert之后调用此函数. <insert id="insertUser" parameterType="

(转)MYSQL获取自增主键【4种方法】

通过JDBC2.0提供的insertRow()方式 通过JDBC3.0提供的getGeneratedKeys()方式 通过SQL select LAST_INSERT_ID()函数 通过SQL @@IDENTITY 变量 1. 通过JDBC2.0提供的insertRow()方式 自jdbc2.0以来,可以通过下面的方式执行. [java] view plain copy print? Statement stmt = null; ResultSet rs = null; try { stmt =

mysql 用非主键where语句报错Error Code: 1175.You are using safe update mode and you tried …

1)这是因为MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令,执行命令SET SQL_SAFE_UPDATES = 0;修改数据库模式 执行完更新之后再将SET SQL_SAFE_UPDATES 恢复为 1; 2)或者还可以在条件后面加limit语句加以限制.

insert时出现主键冲突的处理方法

使用"insert into"语句进行数据库操作时可能遇到主键冲突,用户需要根据应用场景进行忽略或者覆盖等操作.总结下,有三种解决方案来避免出错. 测试表:CREATE TABLE `device` (`devid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,`status` enum('alive','dead','down','readonly','drain') DEFAULT NULL,`spec_char` varchar(1

mybatis主键回填和自定义

主键回填 insert配置字段: id:和命名空间组合作为唯一标识 keyProperty:主键列名,联合组建则以分号分隔 useGeneratedKeys:是否内部生成主键 keyColumn:主键是第几列 例子:(role有id,roleName,note三个属性) <insert id="insertRole" parameterType="role"  useGeneratedKeys="true" keyProperty=&quo

oracle,mybatis主键自增长

<insert id="insert" parameterType="resource"> <selectKey resultType="long" order="BEFORE" keyProperty="id"> SELECT sys_resource_id_SEQ.NEXTVAL AS id FROM DUAL </selectKey> INSERT INTO <