MyBatis insert 返回主键的方法
来源:互联网 发布:音频编辑软件 绿色版 编辑:程序博客网 时间:2024/05/01 22:15
数据库: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)
)
/* 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>
<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>
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("杭州市");
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());
====================
如果使用mybatis.generator来生成DAO层的话,generatorConfig.xml中要使用:
<generatedKeycolumn="id"sqlStatement="MySql"identity="true"/>
0 0
- MyBatis insert 返回主键的方法
- MyBatis insert 返回主键的方法
- MyBatis insert 返回主键的方法
- MyBatis insert 返回主键的方法
- MyBatis insert 返回主键的方法
- Mybatis中insert中返回主键ID的方法
- Mybatis中insert中返回主键ID的方法
- MyBatis insert 返回主键的方法(oracle和mysql)
- Mybatis中insert中返回主键ID的方法
- MyBatis insert 返回主键的方法(oracle和mysql)
- mybatis中Insert方法返回主键的功能
- MyBatis insert 返回主键
- mybatis insert返回主键
- Mybatis insert 返回主键
- mybatis insert 返回主键
- mybatis insert 返回主键
- Mybatis insert返回主键
- mybatis insert 返回主键
- 第一章数据结构导图
- Linux 启动文件、设置环境变量的位置
- Linux-Load Average解析
- maven + eclipse 问题记录
- MySql分析整理命令
- MyBatis insert 返回主键的方法
- 富文本编辑器的跨站脚本问题参考
- 一个有效企业网站比10个业务员的订单还多你觉得可信吗
- 跨站脚本攻击-----为什么要过滤危险字符串
- 使用Jsoup消除不受信任的HTML (来防止XSS攻击)
- Android逆向移花接木之添加AlertDialog
- 中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)
- 一个有效企业网站比10个业务员的订单还多你觉得可信吗
- Spring MVC拦截器实现session控制,权限控制