mybatis mapper insert 设置了selectkey 插入的时候为什么提示ID为null或者没有String类型的setIg

luansp 2016-12-16 04:34:29
<insert id="insertClasses" parameterType="classes">
<selectKey resultType="java.lang.Long" keyProperty="id" order="BEFORE" >
select seq_classes_id.nextval from dual
</selectKey>
insert into CLASSES(c_name) values(#{name})

</insert>

-----java------
1)session.insert("classes.insertClasses","儿年级英语" ); 提示 No setter found for the keyProperty 'id' in java.lang.String.
2) Classes c = new Classes();
c.setName("儿年级英语");
session.insert("classes.insertClasses",c );
提示:ORA-01400: 无法将 NULL 插入 ("LSPTEST"."CLASSES"."ID")
...全文
1337 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
luansp 2016-12-19
  • 打赏
  • 举报
回复
引用 4 楼 fangmingshijie 的回复:
加上type="pre"
在哪里加上type="pre",没有这个属性啊
luansp 2016-12-19
  • 打赏
  • 举报
回复
引用 3 楼 tec_crazy_man 的回复:
这个序列 seq_classes_id有没有创建呢? CREATE SEQUENCE seq_classes_id START WITH 1 INCRENMENT BY 1 ;
序列都存在
  • 打赏
  • 举报
回复
insert into CLASSES(id,c_name) values(#{id},#{name})
  • 打赏
  • 举报
回复
加上type="pre"
tec_crazy_man 2016-12-17
  • 打赏
  • 举报
回复
这个序列 seq_classes_id有没有创建呢? CREATE SEQUENCE seq_classes_id START WITH 1 INCRENMENT BY 1 ;
luansp 2016-12-17
  • 打赏
  • 举报
回复
引用 1 楼 tec_crazy_man 的回复:
classes bean 里面有没有id的set方法呢?
有 但是设置的是long类型
tec_crazy_man 2016-12-17
  • 打赏
  • 举报
回复
classes bean 里面有没有id的set方法呢?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧