mybitas insert 后返回主键ID

原创 2016年08月30日 14:36:46

今天遇到一个问题就是,想插入后继续获得主键然后再次操作!

可能有好几种方法,今天亲自测试使用的一种方法记录一下,分享给大家!

针对的数据库是MYSQ 主键自增l   以下面这个sql为例

<!-- 插入客户档案 -->
<insert id="insertCustomer" parameterType="com.cdel.module.customer.domain.Customer">
        INSERT INTO pss_basedata_customer (customerName,shortName,customerCompany,contacter,principals,cellphone,telephone,address,postcode,isArchive,auditor,auditStatus,auditTime,creator,createTime,modifier,modifyTime,status,remark,sortNum,currentDiscount,areaID,isSpecial)
        VALUES (
            #{customerName},#{shortName},#{customerCompany},#{contacter},#{principals},#{cellphone}, #{telephone},#{address},#{postcode},#{isArchive},#{auditor},#{auditStatus},#{auditTime},#{creator},#{createTime}, #{modifier},#{modifyTime},#{status},#{remark}, #{sortNum},#{currentDiscount}, #{areaID},#{isSpecial}
        )
        <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="customerID">
SELECT @@IDENTITY AS customerID
</selectKey>
    </insert>

方法:1.sql中加入:

  <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="customerID">
 SELECT @@IDENTITY AS customerID
</selectKey>

     2.在dao层接收返回的主键

public Integer insertCustomer(Customer customer) {
getSqlSession().insert("customer.insertCustomer", customer);
return customer.getCustomerID();
}

注意的细节:keyProperty   要写当前实体的主键名称     插入之后不是直接返回主键,而是将你插入的实体的ID赋值,getSqlSession().insert("customer.insertCustomer", customer); 这句话返回的int值还是插入语句影响的记录数  而不是主键值。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MyBatis insert操作返回主键

在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能 针对Sequence主键而...
  • jbgtwang
  • jbgtwang
  • 2012年02月29日 20:52
  • 172897

sql插入并返回自增主键

Connection conn = ConnectionManager.getConnection(); try { conn.setAutoCommit(fa...
  • pasken
  • pasken
  • 2016年05月11日 19:42
  • 1635

sql server 2008 执行insert返回主键ID

1、string connStr = "server = 127.0.0.1;database=Baosteel_pvs;uid=sa;pwd=123456"; 2、string sql_ren =...

mybitas插入返回主键

usegeneratedkeys:取值范围true|false 默认值是:false。        含义:设置是否使用JDBC的getGenereatedKeys方法获取主键(即设置是否返回主键)并...

insert 返回字段说明

--查我们插入一条数据到数据库时,pg会返回给我们如下信息, postgres=# insert into test_2(id) select n from generate_series(1,100...
  • jumewo
  • jumewo
  • 2015年12月10日 15:43
  • 738

Sql语句返回自增Id

大家经常把自增Id设为主键,有时自增Id值还有其他用途,所以需要返回,下面介绍返回自增Id的实现方法。...

mybatis+mysql insert添加数据后返回数据主键id

1.修改mybatis xml       insert into test (name) values (#{name})   useGeneratedKeys="true" :设置是否使用JDB...

Mybatis实现insert获取自增id

先说明我用的是MySQL,其他的没使用过,也帮不上了~~ 首先要先解决思维误区吧,我在搜索了一些资料之后以为写一个这样的xmlinsert就会...

sql语句如何在insert一条数据后直接返回刚刚插入的数据的ID

原文链接:http://blog.csdn.net/lllkey/article/details/7079277 在insert语句之后加上: [sql] view plain...
  • zzstack
  • zzstack
  • 2016年10月28日 13:12
  • 4747

Mybatis中,当插入数据后,返回最新主键id的几种方法,及具体用法

一、前言                                      数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mybitas insert 后返回主键ID
举报原因:
原因补充:

(最多只允许输入30个字)