<insert id="addGoodsAndReturnId" parameterType="com.project.entity.EmallGoodsWithBLOBs"> <!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into EMALL_GOODS ( GOODSNAME, CLASSID,
)
values ( #{goodsname,jdbcType=VARCHAR})
SELECT @@IDENTITY AS GOODSID </insert> 这是执行的sql
2016-02-23 11:34:46 [http-8090-2] DEBUG com.project.dao.EmallGoodsMapper.addGoodsAndReturnId - ==> Preparing: insert into EMALL_GOODS ( GOODSNAME) values ( ?) SELECT @@IDENTITY AS GOODSID 2016-02-23 11:34:46 [http-8090-2] DEBUG com.project.dao.EmallGoodsMapper.addGoodsAndReturnId - ==> Parameters: ereqrqer(String)
SELECT @@IDENTITY AS GOODSID 这一句明明在sql中执行了,为什么每次返回的都是1 插入的数据的行数。
上面的sql语句在 sqlserver 视图工具执行时是可以的。
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
-->
insert into EMALL_GOODS ( GOODSNAME, CLASSID,
)
values ( #{goodsname,jdbcType=VARCHAR})
SELECT @@IDENTITY AS GOODSID </insert> 这是执行的sql
2016-02-23 11:34:46 [http-8090-2] DEBUG com.project.dao.EmallGoodsMapper.addGoodsAndReturnId - ==> Preparing: insert into EMALL_GOODS ( GOODSNAME) values ( ?) SELECT @@IDENTITY AS GOODSID 2016-02-23 11:34:46 [http-8090-2] DEBUG com.project.dao.EmallGoodsMapper.addGoodsAndReturnId - ==> Parameters: ereqrqer(String)
SELECT @@IDENTITY AS GOODSID 这一句明明在sql中执行了,为什么每次返回的都是1 插入的数据的行数。
上面的sql语句在 sqlserver 视图工具执行时是可以的。
解决方案 »
- Java的异常捕获该怎么写?
- 苦逼程序员 求大神解救 关于SVN合并分支
- java中如何将数据保存为txt、xml文件并上传到oracle数据库中 非常感谢!
- 求解答
- 快来帮忙,整个项目中的错误都是出现在.java文件中的exception;这句话上。
- 反编译后的代码问题 HibernateCallBack
- 高手指点.急急急---有关oracle 11g一个存储过程返回单个值,想在hibernate中调用?????
- struct 编码
- 哪里有EJB组件下载?
- 谁能告诉我,JavaBean到底是个什么东西?
- java 做报表系统
- springmvc 里包装类pojo绑定数据一直都是null,无法传入值,还请大家帮忙看看
然后是insert标签里面要加上key还是什么的有个关键字的..然后在你插入那个实体类里面的id属性才会有值
是报错的 报的不是内置函数
<!-- 添加厂区 -->
<insert id="addPlant" parameterType="com.sundear.pojo.Plant"
useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_plant
(plant_code,plant_title,note,parent_id,createtime,updatetime)
VALUES
(#{facCode},#{name},#{note},#{parentId},#{creatDate},#{updateDate})
</insert>
INSERT INTO TestTable (name, owner)
VALUES (#name#, #owner#)
<selectKey keyProperty="id" resultClass="int">
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>http://stackoverflow.com/questions/3455796/generating-dao-with-ibatis-problem
像这种,
keyProperty 是实体里面的属性,如果传入是map就是mao里的属性,keyColumn是表上的主键名称mybatis对于sqlserver不太友好,最终这样才能返回主键id另外不用加 selectKey标签
如下我自己用idea在xml文件配置的
<!-- 插入操作,返回值-->
<insert id="insertBys" parameterType="com.cwj.User.User" useGeneratedKeys="true" keyProperty="uid">
<!-- u_login(是我自己数据库表单的名称) insert的插入操作大家应该都 知道 -->
INSERT INTO u_login (uname,pwd,sex,age,birth,adm)
values(#{uname},#{pwd},#{sex},#{age},#{birth},#{adm})
<!-- 下面的这个才是配置的关键----- uid这个是你在数据库里面的创建表的名称里面的列名字id名称我的叫uid-->
SELECT @@IDENTITY AS uid
</insert>
楼主知道怎么使用主键返回SQLServer自增UUID返回值自增主键嘛~!
求楼主帮忙