打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MyBatis insert 返回主键的方法

数据库:SqlServer2005

表结构:
/*==============================================================*/
/* Table: Dic_City                                              */
/*==============================================================*/
create table Dic_City (
   ID                   int                  identity,
   City_Code            varchar(10)          not null,
   Provinces_Code       varchar(20)          not null,
   State_Code           varchar(10)          not null,
   City_Name            varchar(50)          null,
   PY_Code              varchar(50)          null,
   PY_Code_Short        varchar(10)          null,
   Ext1                 varchar(20)          null,
   Ext2                 varchar(20)          null,
   Ext3                 varchar(20)          null,
   Ext4                 varchar(20)          null,
   Ext5                 varchar(20)          null,
   constraint PK_DIC_CITY primary key (ID)
)

 

MyBatisXML配置,下面两种方式都行

方式1:
<insert id="insert" parameterType="cn.softsea.model.DicCity" >
  <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >
    SELECT @@IDENTITY
  </selectKey>
  insert into Dic_City (City_Code, Provinces_Code,
    State_Code, City_Name, PY_Code,
    PY_Code_Short, Ext1, Ext2,
    Ext3, Ext4, Ext5)
  values (#{cityCode,jdbcType=VARCHAR}, #{provincesCode,jdbcType=VARCHAR},
    #{stateCode,jdbcType=VARCHAR}, #{cityName,jdbcType=VARCHAR}, #{pyCode,jdbcType=VARCHAR},
    #{pyCodeShort,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR},
    #{ext3,jdbcType=VARCHAR}, #{ext4,jdbcType=VARCHAR}, #{ext5,jdbcType=VARCHAR})
</insert>

 

方式2:
<insert id="insert" parameterType="cn.softsea.model.DicCity" useGeneratedKeys="true" keyProperty="id">
  insert into Dic_City (City_Code, Provinces_Code,
    State_Code, City_Name, PY_Code,
    PY_Code_Short, Ext1, Ext2,
    Ext3, Ext4, Ext5)
  values (#{cityCode,jdbcType=VARCHAR}, #{provincesCode,jdbcType=VARCHAR},
    #{stateCode,jdbcType=VARCHAR}, #{cityName,jdbcType=VARCHAR}, #{pyCode,jdbcType=VARCHAR},
    #{pyCodeShort,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR},
    #{ext3,jdbcType=VARCHAR}, #{ext4,jdbcType=VARCHAR}, #{ext5,jdbcType=VARCHAR})
</insert>

 

调用Mapper返回主键:
//生成新对象用于插入
DicCity city = new DicCity();
city.setCityCode("330100");
city.setCityName("杭州市");

 

//获取mapper对象
DicCityMapper cityMapper = (DicCityMapper) SpringContextUtil.getBean("dicCityMapper");

int row = cityMapper.insert(city);    //insrt不再返回主键,只返回响应行数,这点和ibatis不同了

System.out.println("响应的行数:"+row);
//取得自增的标识列 ID的值
System.out.println("新插入的数据的ID:"+city.getId());

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Mybatis自动生成实体代码的 generator 插件
Mybatis中运用小技巧(四)trim标签的使用
mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201
【MyBatis】几种批量插入效率的比较
myBatis注解sql书写注意
Spring Mybatis
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服