wnlt.net
当前位置:首页 >> 关于myBAtis sElECtKEy的问题 >>

关于myBAtis sElECtKEy的问题

SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式.不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦.selectKey Attributes属性描述keyProperty selectKey 语句结果应该

当然可以,他会先将主键的值查出放入你传入的对象,然后再执行增加insert语句,所以执行完后的对象中就有id的值了!

看你的xml,貌似是order的问题. order的属性 1:before,会先选择主键,然后设置keyproperty,再执行insert语句;2:after,就先运行insert 语句再运行selectkey 语句.

mybatis 和 hibernate是两种完全不同的映射方式的.mybatis 倾向SQL的操作.mybatis 官网有工具可以生成映射的Mapping文件,就可以完成一般的操作

把SysCity的id属性改为long就好了,为啥要用short,mysql里头的无符号int对应得实java里头的long.saveForId操作完,自增的id就写入到obj对象的id里头了,直接去这里取就行.

这要用到动态sql了,首先你要改成 <resultMap type="test" id="test"> <id property="id" column="id" /> <result column="name" property="name" /> <collection property="picture" ofType="picture"> <id property="picture_id"

那个返回值1并不是主键,而是插入数据库的记录的条数.主键是自动赋值在对象中的. 比如对象user,属性id为主键,name,age user user = new user(); user.setname("test"); user.setage(16); 调用mybatis的insert(user);返回值是1,该条记录

在新增数据的地方添加ID地方添加一个判断如果传入ID为空 则添加执行ORALCE的自增长ID设置.否则就设置手动设置ID为 ID值

MYSQL?ORACLE?ORACLE:SELECT XXXXINSERT XXXMYSQL:INSERT XXXSELECT XXXX

SELECT HC_PROJECT_SEQ.NEXTVAL AS ID FROM DUAL从sequences中取下一个值.这是序列的操作,如果有疑问,请参阅ORACLE序列.还有,我不知道楼主为什么这样写.可以直接写成这样<insert id="insert" parameterClass="projectObject">INSERT INTO HC_PROJECT ( PROJECT_ID, PROJECT_NAME, PROJECT_DESCRIBE,FLAG)VALUES ( HC_PROJECT_SEQ.NEXTVAL, #name#, #describle#,1)</insert>

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.wnlt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com