我用的是struts2-spring,spring-mybatis。我得到了这个错误:
12:21:18,499 DEBUG insertar:46 - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@c0b6] 12:21:18,499 DEBUG insertar:46 - ==> Preparing: { CALL INSERTAR_REGISTRO(?,?,?)} 12:21:18,516 DEBUG insertar:46 - ==> Parameters: 10302770(String), 2013-10-18(String), 2013-10-18 01:30:00(String) 12:21:18,531 TRACE insertar:50 - <== Columns: VID, VENTRADA, VSALIDA, @VPROX, @INSERTAR, @ESTADO, @CONTADOR 12:21:18,531 TRACE insertar:50 - <== Row: 69, 2013-10-18 07:15:00.0, 2013-10-18 07:20:00.0, <<BLOB>>, 1, 2, 14 **nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating void with invalid types () or values (). Cause: java.lang.NoSuchMethodException: void.<init>() # org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating void with invalid types () or values (). Cause: java.lang.NoSuchMethodException: void.<init>()**
当我在工作台中测试时,没有问题,例如:CALL INSERTAR_REGISTRO('10302770','2013-10-18','2013-10-18 01:30:00');但在我的应用程序中出现异常。
我的过程PROCEDURE INSERTAR_REGISTRO(IN PNNUMEROID varchar(8), IN PDFECHAEVENTO varchar(10), IN PNFECHAHORA varchar(19))。
我的服务类:
@Service
@Scope("request")
public class RegistroServiceImp implements RegistroService {
@Autowired
RegistroMapper registroMapper;
@Transactional
public void registrar(Registro registro, String fecha_hora)
throws Exception {
String[] arrayFch = registro.getFecha_evento().split("/");
String nuevaFch = arrayFch[2] + "-" + arrayFch[1] + "-" + arrayFch[0];
System.out.println(nuevaFch);
registroMapper.insertar(registro.getNumero_id(), nuevaFch, nuevaFch
+ " " + fecha_hora);
}发布于 2013-12-24 01:54:37
好吧,我解决了我的问题,只删除了我选择的信息。我认为问题是因为我变量@VPROX的form SET @VPROX =0,后来我设置了@VPROX = VSALIDA,这个变量VSALIDA的form声明了VSALIDA DATETIME。我不知道,因为ibatis会像<<BLOB>>和datetime一样在工作台上返回变量@VPROX。
https://stackoverflow.com/questions/20748684
复制相似问题