<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 视图工具执行时是可以的。
12 个解决方案
#1
会回写到参数对象中的。返回值表示影响行数,标准操作。
#3
我都看过这样的 针对 sqlserver 的 是不行的啊
#4
报错吗?和你的jar版本有没有关系呢?
#5
我记得要返回key要数据库支持
然后是insert标签里面要加上key还是什么的有个关键字的..然后在你插入那个实体类里面的id属性才会有值
然后是insert标签里面要加上key还是什么的有个关键字的..然后在你插入那个实体类里面的id属性才会有值
#6
报错吗?和你的jar版本有没有关系呢?
http://blog.csdn.net/jbgtwang/article/details/7307687
我都看过这样的 针对 sqlserver 的 是不行的啊
是报错的 报的不是内置函数
#7
这是我的配置文件
<!-- 添加厂区 -->
<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 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>
#8
这是我的配置文件
<!-- 添加厂区 -->
<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>
我觉得你少了一个配置属性
useGeneratedKeys="true" keyProperty="id">
#9
<insert id="myInsertStatement">
INSERT INTO TestTable (name, owner)
VALUES (#name#, #owner#)
<selectKey keyProperty="id" resultClass="int">
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>
http://*.com/questions/3455796/generating-dao-with-ibatis-problem
#10
<insert id="myInsertStatement">
INSERT INTO TestTable (name, owner)
VALUES (#name#, #owner#)
<selectKey keyProperty="id" resultClass="int">
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>
http://*.com/questions/3455796/generating-dao-with-ibatis-problem
你好 我这报错了 哥哥 您看应该怎么解决啊
#11
我没环境测试。不同jar 版本 dtd 版本都可能发生问题。
我觉得7楼的办法也是可以的。useGeneratedKeys="true" keyColumn="id" keyProperty="id"
像这种,
我觉得7楼的办法也是可以的。useGeneratedKeys="true" keyColumn="id" keyProperty="id"
像这种,
#12
useGeneratedKeys="true" keyProperty="id" keyColumn="id"
keyProperty 是实体里面的属性,如果传入是map就是mao里的属性,keyColumn是表上的主键名称
mybatis对于sqlserver不太友好,最终这样才能返回主键id
另外不用加 selectKey标签
keyProperty 是实体里面的属性,如果传入是map就是mao里的属性,keyColumn是表上的主键名称
mybatis对于sqlserver不太友好,最终这样才能返回主键id
另外不用加 selectKey标签
#1
会回写到参数对象中的。返回值表示影响行数,标准操作。
#2
#3
http://blog.csdn.net/jbgtwang/article/details/7307687
我都看过这样的 针对 sqlserver 的 是不行的啊
#4
http://blog.csdn.net/jbgtwang/article/details/7307687
我都看过这样的 针对 sqlserver 的 是不行的啊
#5
我记得要返回key要数据库支持
然后是insert标签里面要加上key还是什么的有个关键字的..然后在你插入那个实体类里面的id属性才会有值
然后是insert标签里面要加上key还是什么的有个关键字的..然后在你插入那个实体类里面的id属性才会有值
#6
报错吗?和你的jar版本有没有关系呢?
http://blog.csdn.net/jbgtwang/article/details/7307687
我都看过这样的 针对 sqlserver 的 是不行的啊
是报错的 报的不是内置函数
#7
这是我的配置文件
<!-- 添加厂区 -->
<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 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>
#8
这是我的配置文件
<!-- 添加厂区 -->
<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>
我觉得你少了一个配置属性
useGeneratedKeys="true" keyProperty="id">
#9
<insert id="myInsertStatement">
INSERT INTO TestTable (name, owner)
VALUES (#name#, #owner#)
<selectKey keyProperty="id" resultClass="int">
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>
http://*.com/questions/3455796/generating-dao-with-ibatis-problem
#10
<insert id="myInsertStatement">
INSERT INTO TestTable (name, owner)
VALUES (#name#, #owner#)
<selectKey keyProperty="id" resultClass="int">
SELECT SCOPE_IDENTITY()
</selectKey>
</insert>
http://*.com/questions/3455796/generating-dao-with-ibatis-problem
你好 我这报错了 哥哥 您看应该怎么解决啊
#11
我没环境测试。不同jar 版本 dtd 版本都可能发生问题。
我觉得7楼的办法也是可以的。useGeneratedKeys="true" keyColumn="id" keyProperty="id"
像这种,
我觉得7楼的办法也是可以的。useGeneratedKeys="true" keyColumn="id" keyProperty="id"
像这种,
#12
useGeneratedKeys="true" keyProperty="id" keyColumn="id"
keyProperty 是实体里面的属性,如果传入是map就是mao里的属性,keyColumn是表上的主键名称
mybatis对于sqlserver不太友好,最终这样才能返回主键id
另外不用加 selectKey标签
keyProperty 是实体里面的属性,如果传入是map就是mao里的属性,keyColumn是表上的主键名称
mybatis对于sqlserver不太友好,最终这样才能返回主键id
另外不用加 selectKey标签