离恨天蓑衣客 2015-07-12 07:34 采纳率: 44.4%
浏览 9839
已结题

mybatis向oracle数据库中插入数据时,需要返回主键值,

这是mapper文件里的插入语句


insert into TEMPLATE (ID, ALLOWIP, BACKGROUNDCOLOR,
BUSINESS1, BUSINESS2, BUSINESS3,
COPYRIGHT, DEFAULTTEMPLATE, HEADERUPLOAD,
IPLOCKTIME, LOGMANAGEMENT, LOGINMODEL,
MAXFAILURES, PWLENGTH, PWVALIDPERIOD,
STATE, UPLOADMAX, UPLOADTYPE
)
values (ID, #{allowip,jdbcType=VARCHAR}, #{backgroundcolor,jdbcType=VARCHAR},
#{business1,jdbcType=VARCHAR}, #{business2,jdbcType=VARCHAR}, #{business3,jdbcType=VARCHAR},
#{copyright,jdbcType=VARCHAR}, #{defaulttemplate,jdbcType=DECIMAL}, #{headerupload,jdbcType=VARCHAR},
#{iplocktime,jdbcType=DECIMAL}, #{logmanagement,jdbcType=VARCHAR}, #{loginmodel,jdbcType=VARCHAR},
#{maxfailures,jdbcType=DECIMAL}, #{pwlength,jdbcType=VARCHAR}, #{pwvalidperiod,jdbcType=DECIMAL},
#{state,jdbcType=DECIMAL}, #{uploadmax,jdbcType=VARCHAR}, #{uploadtype,jdbcType=VARCHAR}
)

select SEQ_TEMPLATE.NEXTVAL AS ID from dual


#这是javabean
public class Template {
private Integer id;

private String allowip;

private String backgroundcolor;

private String business1;

private String business2;

private String business3;

private String copyright;

private Long defaulttemplate;

private String headerupload;

private Long iplocktime;

private String logmanagement;

private String loginmodel;

private Long maxfailures;

private String pwlength;

private Long pwvalidperiod;

private Long state;

private String uploadmax;

private String uploadtype;

这个是数据库表字段

图片说明
#报错信息,我希望它能返回主键值,拜托了
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error selecting key or setting result to parameter object. Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.giantplus.ssm.po.Template' with value '69' Cause: java.lang.IllegalArgumentException: argument type mismatch
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
at com.sun.proxy.$Proxy13.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:51)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)
at com.sun.proxy.$Proxy14.insert(Unknown Source)
at com.giantplus.ssm.dao.impl.TemplateDaoImpl.saveTemplate(TemplateDaoImpl.java:17)
at com.giantplus.ssm.service.impl.TemplateServiceImpl.saveTemplate(TemplateServiceImpl.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy18.saveTemplate(Unknown Source)
at com.giantplus.ssm.service.impl.TemplateServiceImplTest.testInsert(TemplateServiceImplTest.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.apache.ibatis.executor.ExecutorException: Error selecting key or setting result to parameter object. Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.giantplus.ssm.po.Template' with value '69' Cause: java.lang.IllegalArgumentException: argument type mismatch
at org.apache.ibatis.executor.keygen.SelectKeyGenerator.processGeneratedKeys(SelectKeyGenerator.java:90)
at org.apache.ibatis.executor.keygen.SelectKeyGenerator.processBefore(SelectKeyGenerator.java:46)

  • 写回答

9条回答

  • 离恨天蓑衣客 2015-07-12 07:38
    关注

    ![图片说明](https://img-ask.csdn.net/upload/201507/12/1436686626_140995.png)图片说明这是我的jar包 不知道是不是jar的问题啊

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog