tockychen 2008-11-07 11:27
浏览 272
已采纳

初学ibatis遇到的一些异常

java文件:

[code="java"]package com.ibatis.sample;

import java.io.Reader;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.ibatis.sqlmap.engine.builder.xml.XMLSqlSource;

public class Test {

public void insertTest() {
    SqlMapClient smc = null;
    try {
        String str = "./com/ibatis/sample/sqlMapConfig.xml";
        Reader reader = Resources.getResourceAsReader(str);
        smc = SqlMapClientBuilder.buildSqlMapClient(reader);
        //smc.startTransaction();
        Dept d = new Dept();
        d.setDname("aaaa");
        d.setLoc("bbbb");
        smc.insert("insertDept");
        System.out.print(d.getDname());
        //smc.commitTransaction();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try{
        //smc.endTransaction();
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
}

public static void main(String[] args){
    Test t=new Test();
    t.insertTest();
}

}
[/code]

数据库配置:
[code="java"]<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">

lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"
maxSessions="10" maxTransactions="5" useStatementNamespaces="false" />

    <dataSource type="SIMPLE">
        <property name="JDBC.Driver"
            value="oracle.jdbc.driver.OracleDriver" />
        <property name="JDBC.ConnectionURL"
            value="jdbc:oracle:thin:@192.168.0.35:1521:orcl" />
        <property name="JDBC.Username"  value="scott" />
        <property name="JDBC.Password"  value="tiger" />
        <property name="Pool.MaxmumActiveConnections" value="10"/>
        <property name="Pool.MaxmumIdleConnections" value="5"/>
        <property name="Pool.MaxmumCheckoutTime" value="120000"/>
        <property name="Pool.TimeToWait" value="500" />
        <property name="Pool.PingQuery"" value="select 1 from ACCOUNT" />
        <property name="Pool.PingEnabled" value="false" />
        <property name="Pool.PingConnectionsOlderThan" value= "1" />
        <property name="Pool.PingConnectionsNotUsedFor" value= "1" />
    </dataSource>
</transactionManager>
<sqlMap resource="com/ibatis/sample/sqlMapConfig.xml" />

[/code]

sqlMap 文件:
[code="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">



<![CDATA[select dname, loc from Dept where deptno = #deptno# ]]>


<![CDATA[update Dept set dname=#dname#, loc=#loc# where deptno = #deptno# ]]>


insert into Dept ( dname, loc) values ( #dname#, #loc# )


delete from Dept where deptno = #deptno#


[/code]

最后老提示:
com.ibatis.sqlmap.client.SqlMapException: There is no statement named insertDept in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:231)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:367)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:86)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:62)
at com.ibatis.sample.Test.insertTest(Test.java:22)
at com.ibatis.sample.Test.main(Test.java:38)
[b]问题补充:[/b]
写上“d”,还是一样的异常

There is no statement named insertDept in this SqlMap.

  • 写回答

3条回答 默认 最新

  • iteye_14762 2008-11-07 12:02
    关注

    代码中:
    [code="java"]
    String str = "./com/ibatis/sample/sqlMapConfig.xml";

    [/code]

    数据库配置文件中:
    [code="java"]


    [/code]
    这两个文件怎么是一样的, 你的代码中的应该是你的数据库配置文件的路径吧!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形