
<insert id="addUser" parameterType="User"
useGeneratedKeys="true" keyProperty="id">
insert into user(userName,userAge,userAddress)
values(#{userName},#{userAge},#{userAddress})
</insert>
-- Oracle SEQUENCE 序列语法:CREATE SEQUENCE 序列名
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}]
示例:
CREATE SEQUENCE sq_test -- 序列名
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
MAXVALUE 9999999 -- 最大值9999999
NOCYCLE -- 一直累加,不循环
NOCACHE
SELECT sq_test.NEXTVAL FROM DUAL
可以使用sequence的地方:
-- 不包含子查询、snapshot、VIEW的 SELECT 语句
-- INSERT语句的子查询中
-- NSERT语句的VALUES中
-- UPDATE 的 SET中
可以看如下例子:
INSERT INTO table_name VALUES (sq_test.nextval, 'CLERK',1200, SYSDATE)
是仅仅插入语句无法执行,还是其他诸如update、或者查询语句也无法执行呢。如果都是无法执行的,那么就意味着你的mybatis压根就没有配置正确,或者缺少数据库驱动。如果仅仅是insert无法进行,那么就需要考虑下你的Notice了,你用parameterType指定的Notice是否已经在配置列表中定义了别名,如果没有请定义。如果定义了别名,那么就有可能是Notice当中的某些成员变量与插入语剧中使用的成员变量不一致,如果插入语中有Notice中不包含的成员变量,如果storeName在Notice中没有定义。或者插入语句所在的XML文件压根就没有包含到Mybatis配置文件中。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)