MyBatis-Oracle-selectKey返回主键

来源:互联网 发布:网络加密方式有哪些 编辑:程序博客网 时间:2024/06/03 04:22
 > SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。

### Mapper(Oracle)
    <insert id="insertWxshLogOut"  parameterType="java.util.HashMap">
        <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
            select wxsh_seq.nextval as id from dual
        </selectKey>
        INSERT INTO WXSH_LOG_OUT
        (ID,
         OUT_NO,
         USER_ID,
         FILE_NAME,
         CREATE_AT,
         IP,
         CONTENT,
         OUT_NUM,
         UNIT_NO,
         STATUS)
        VALUES
            (#{id},
             #{out_no},
             #{user_id},
             #{file_name},
             SYSDATE,
             #{ip},
             #{content},
             #{out_num},
             #{unit_no},
             #{status})
    </insert>
### Service
    public int addWxshLogOut(Map map) {
        try {
            DataSourceTypeManager.set(DataSources.GJT);
            welfareConfirmMapper.insertWxshLogOut(map);
            return Integer.parseInt(String.valueOf(map.get("id")));
        } catch (Exception e) {
            logger.error(e.getMessage());
        }
        return 0;
    }
**map中会增加返回的主键id**