2013-08-03 ==========================================================================================
客户端更新语句:update cost_xjz set status='0',startime=to_date('2013-08-01 16:30:22','yyyy-mm-dd hh24:mi:ss') where id = 21;
上面是客户端更新语句,使用完全正常无任何问题! =========================================================================================
JDBC更新语句:"UPDATE COST_XJZ SET STATUS='0',STARTIME=TO_DATE('?','YYYY-MM-DD HH24:MI:SS') WHERE ID = ?"; =======================================================================================
JDBC 更新方法:
public void openCost(int id) throws SQLException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String t = sdf.format(new Date());
update(OPEN_COST, new Object[]{"0",t,id});
}
update是我自己封装的基于JDBC技术更新数据表的方法,已测试多种表,完全无任何问题,就不贴了。 ============================================================================================
下面是建表语句:
CREATE TABLE COST_XJZ(
ID NUMBER(4) CONSTRAINT COST_ID_PK PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
BASE_DURATION NUMBER(11),
BASE_COST NUMBER(7,2),
UNIT_COST NUMBER(7,4), STATUS CHAR(1) CONSTRAINT COST_STATUS_CK CHECK (STATUS IN (0,1)),
DESCR VARCHAR2(100),
CREATIME DATE DEFAULT SYSDATE ,
STARTIME DATE, COST_TYPE CHAR(1)
);
=============================================================================
下面是控制台打印的异常信息:
java.sql.SQLException: 无效的列索引 at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5168) at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8098) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8034) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8767) at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8748) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:230) at implement.BaseDAO.update(BaseDAO.java:57) at implement.CostDAOImpl.openCost(CostDAOImpl.java:125) at test.TestCostDAO.testOpen(TestCostDAO.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 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) =========================================================================================
请各路大神指点下到底是什么地方出了问题!不胜感激!
相关推荐
5. **Struts2与JSP的交互**:在Struts2中,Action执行完毕后会返回一个结果类型,该结果类型对应一个JSP页面。例如,一个名为"StudentAction"的Action可能会返回"success"结果,这将导致Struts2加载对应的success....
例如,如果我们有一个名为`Employee`的表,我们可以创建一个对应的`Employee`类,包含与表字段相对应的属性和getter/setter方法。 创建操作(Create):在Action类中,我们可以编写一个方法来接收用户输入的数据,...
Struts2和MyBatis是Java Web开发中常用的两个框架,它们分别负责MVC模式中的控制层和数据访问层。本实例将引导你入门这两个框架的整合使用。 **Struts2** 是一个强大的MVC框架,它继承了Struts1的优点,并引入了更...
Struts2、Spring和Mybatis是Java Web开发中三大核心框架,它们的整合使用能够构建出高效、可维护的企业级应用程序。Struts2作为MVC框架负责控制流程,Spring提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,...
Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自在不同的层面提供了解决方案,而将它们整合在一起可以构建出强大的企业级应用。本篇内容将深入讲解这三个框架的整合,以及如何实现“用户名字段的...
Ibatis通过SQL映射文件将Java对象与数据库表字段对应,简化了DAO(Data Access Object)层的开发,同时避免了JDBC的繁琐编码。 **整合Spring和Struts2** 整合Spring和Struts2通常涉及以下几个步骤: 1. 添加相关...
此外,还要为每个数据库表创建对应的实体类,利用Hibernate的注解或XML映射文件定义字段与表字段的对应关系。 在实际操作中,我们会在Action类中创建一个Session,通过Session执行查询、插入、更新和删除等数据库...
4. **实体类**:创建一个对应的实体类`Student.java`,包含与数据库表字段对应的属性和getter/setter方法。 5. **代码实现**:集成过程中,首先实现MyBatis的基本功能,如CRUD操作。接着,将MyBatis与Struts2结合,...
例如,如果我们有一个名为`Student`的表,我们可以创建一个对应的`Student` Java类,包含与表字段相对应的属性和getter/setter方法。 2. **数据库连接**:使用JDBC(Java Database Connectivity)或者ORM(Object-...
在Java Web开发中,我们经常会遇到各种乱码问题,特别是在使用Hibernate、Struts和Spring等框架时。这些框架处理数据的方式以及与数据库交互的过程都可能导致字符编码不一致,从而引发乱码现象。以下是对这些技术全...
例如,如果我们的表名为`users`,则可以创建一个User类,包含与表字段相对应的属性,并提供getter和setter方法。 为了实现数据库操作,我们需要创建DAO(Data Access Object)接口和其实现类。DAO接口定义了CRUD...
Struts2和Hibernate是Java开发领域中常用的两个开源框架,它们分别专注于Web应用的MVC(Model-View-Controller)架构管理和数据持久化。在Java Web开发中,这两个框架的整合能够有效地提升开发效率和代码质量,使得...
在这个环境中,Struts2负责处理用户请求并控制应用程序流程,而Hibernate则作为数据访问层,管理与数据库的交互。 在"struts2.0+hibernate环境搭建"的过程中,我们需要进行以下几个关键步骤: 1. **创建数据库表**...
创建一个新的Java Web项目,并导入所有必要的运行库文件,包括Struts 2和Hibernate的相关JAR包,以及其他的依赖库如Servlet API、JDBC驱动等。确保你的项目构建路径包含了这些库文件。 3. **配置Hibernate** 在...
可以通过使用双向一对多关联、灵活使用单向一对多关联、配置对象缓存、继承类使用显式多态、表字段要少等方法来优化 Hibernate。 Struts 1. Struts 工作机制? Struts 的工作机制包括加载初始化 ActionServlet、...
Ibatis的核心理念是SQL映射,通过XML或注解方式将Java对象与数据库表字段进行绑定,实现了数据访问层的解耦。在本案例中,你将看到如何创建Mapper接口,编写XML配置文件,以及如何在Service层中调用这些Mapper方法...
Struts2、iBatis和Oracle是Web应用开发中常见的技术栈,它们分别在MVC框架、持久层处理和数据库管理方面发挥重要作用。下面将详细解释这三个组件以及它们的组合应用。 **Struts2** 是一个基于MVC(Model-View-...
2. **解析映射信息,创建SessionFactory**:映射信息通常在.hbm.xml文件中定义,SessionFactory是线程安全的,用于创建Session实例。 3. **打开Session**:Session是Hibernate的主要工作接口,它负责与数据库交互,...
【标题】:“Hibernate Struts Oracle例子”揭示了在Java Web开发中如何整合这三个关键技术来构建一个功能完善的数据库驱动的应用程序。Hibernate是Java领域中的对象关系映射(ORM)框架,它使得开发者可以使用面向...
在这个例子中,Hibernate可能用于创建User实体类,定义其属性与数据库表字段对应,然后通过Session接口进行CRUD操作。 4. 整合:Struts、Spring和Hibernate的整合主要是通过Spring的Struts插件实现,它可以处理...