ggggkkkk- 2011-10-04 23:02 采纳率: 0%
浏览 218
已采纳

初次学习ibatis...太辛苦..问题搞不定...请帮忙解决一下.....

其它查询都可以,删除都可以.就是增加和修改报错了.

sqlMapConfig.xml是没有问题的.

**********************customer.xml*************************
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">

<select id="customerAll" resultClass="Customer">
    select id,name,enName,describe
    from customer
</select>

<select id="selectCustomerById" parameterClass="int" resultClass="Customer">
        select id,name,enName,describe
    from customer where id=#id#
</select>

<delete id="deleteCustomer" parameterClass="int">
    delete from customer where id = #id#
</delete>

[color=red][b]<insert id="insertCustomer" parameterClass="Customer">
    insert into customer(id,    name,    enName,     describe)
                values  ("#id#","#name#","#enName#","#describe#")
</insert>

<update id="updateCustomer" parameterClass="Customer">
    update customer set 
        name="#name#",enName="#enName#",describe="#describe#"
    where id="#id#"
</update>[/b]</sqlMap>[/color]

**********************customer.xml*************************

com.ibatis.common.jdbc.exception.NestedSQLException:

--- The error occurred in org/gxf/demo/customer.xml.

--- The error occurred while applying a parameter map.

--- Check the insertCustomer-InlineParameterMap.

--- Check the parameter mapping for the 'id' property.

--- Cause: java.sql.SQLException: 无效的列索引
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:58)
at org.gxf.dao.impl.CustomerDaoImpl.addCustomer(CustomerDaoImpl.java:31)
at org.gxf.test.Test.main(Test.java:30)
Caused by: java.sql.SQLException: 无效的列索引
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
at oracle.jdbc.driver.OraclePreparedStatement.setIntInternal(OraclePreparedStatement.java:3970)
at oracle.jdbc.driver.OraclePreparedStatement.setInt(OraclePreparedStatement.java:3961)
at com.ibatis.sqlmap.engine.type.IntegerTypeHandler.setParameter(IntegerTypeHandler.java:30)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:166)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:126)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:78)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
... 5 more

********************CustomerDaoImpl******************************
public void updateCsutomer(Customer customer) {
try {
sqlMapClient.update("updateCustomer", customer);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void addCustomer(Customer customer) {
try {
System.err.println(sqlMapClient.insert("insertCustomer",customer));
} catch (SQLException e) {
e.printStackTrace();
}
}
*********************test*************************
Customer customer = new Customer();
customer.setId(2);
customer.setName("ibatisName");
customer.setEnName("ibatisEnName");
customer.setDescribe("test_one");
new CustomerDaoImpl().addCustomer(customer);

  • 写回答

1条回答 默认 最新

  • iteye_15914 2011-10-04 23:05
    关注

    [code="xml"]
    values ("#id#","#name#","#enName#","#describe#")
    [/code]

    这里改成
    [code="xml"]
    values (#id#,#name#,#enName#,#describe#)
    [/code]

    不加双引号 请仔细查一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?