本帖最后由 lidongfeng19861126 于 2010-01-18 22:26:35 编辑

解决方案 »

  1.   

    感觉是你的配置问题,以下内容来自网络,仅供参考:
    http://blog.sina.com.cn/s/blog_6402bae90100gwax.html###
    配置Ibatis的两个关键配置SqlMapConfig映射文件和SqlMap映射文件。
    首先要配置的当然是SqlMapConfig文件:
    <?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE sqlMapConfig        
        PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
        "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">  
    <sqlMapConfig>  
        <!-- 唯一的Properties文件,加载数据库连接信息 -->  
        <properties resource="mysql.properties"/>  
    <!--配置和优化SqlMapClient实例的各选项,是可选的  
    <settings   
        cacheModelsEnabled="true"      
        enhancementEnabled="true"      
        lazyLoadingEnabled="true"      
        errorTracingEnabled="true"      
        maxRequests="32"          
        maxSessions="10"          
        maxTransactions="5"          
        useStatementNamespaces="false"   
        />   
    -->  
        <!-- 配置Ibatis事务管理,使用JDBC事务类型,数据源使用Simple类型 -->  
        <transactionManager type="JDBC">  
            <dataSource type="SIMPLE">  
                <property name="JDBC.Driver" value="${mysql.driver}"/>  
                <property name="JDBC.ConnectionURL" value="${mysql.url}"/>  
                <property name="JDBC.Username" value="${mysql.username}"/>  
                <property name="JDBC.Password" value="${mysql.password}"/>  
            </dataSource>  
        </transactionManager>   
        <!-- 配置Ibatis要使用的SqlMap文件信息 -->  
        <sqlMap resource="com/jack/ibatis/pojo/map/person.xml"/>  
    </sqlMapConfig> 
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMapConfig     
        PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"     
        "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
    <sqlMapConfig>
     <!-- 唯一的Properties文件,加载数据库连接信息 -->
     <properties resource="mysql.properties"/>
    <!--配置和优化SqlMapClient实例的各选项,是可选的
    <settings
        cacheModelsEnabled="true"   
        enhancementEnabled="true"   
        lazyLoadingEnabled="true"   
        errorTracingEnabled="true"   
        maxRequests="32"       
        maxSessions="10"       
        maxTransactions="5"       
        useStatementNamespaces="false"
        />
    -->
     <!-- 配置Ibatis事务管理,使用JDBC事务类型,数据源使用Simple类型 -->
     <transactionManager type="JDBC">
      <dataSource type="SIMPLE">
       <property name="JDBC.Driver" value="${mysql.driver}"/>
       <property name="JDBC.ConnectionURL" value="${mysql.url}"/>
       <property name="JDBC.Username" value="${mysql.username}"/>
       <property name="JDBC.Password" value="${mysql.password}"/>
      </dataSource>
     </transactionManager> 
     <!-- 配置Ibatis要使用的SqlMap文件信息 -->
     <sqlMap resource="com/jack/ibatis/pojo/map/person.xml"/>
    </sqlMapConfig>
       setting元素可以配置和优化SqlMapClient对象的各选项,因为本例只是简单的使用,所有并没有必要去配置。
       现在配置SqlMap文件person.xml,此文件是专门针对您的POJO类进行配置的
    Java代码
    <?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE sqlMap        
        PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"        
        "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
    <sqlMap>  
        <!-- 为Person类设置一个别名 -->  
        <typeAlias alias="person" type="com.jack.ibatis.pojo.Person"/>  
        <!-- 配置表和类之间的映射关系 -->  
        <resultMap class="com.jack.ibatis.pojo.Person" id="personMap">  
            <result property="id" column="ID"/>  
            <result property="username" column="U_NAME"/>  
            <result property="password" column="U_PASSWORD"/>  
        </resultMap>  
        <!-- 添加用户 -->  
        <insert id="insertPerson" parameterClass="person">  
            <!-- 配置Mysql主键自动增长 -->  
            <selectKey keyProperty="id" resultClass="int">  
                SELECT LAST_INSERT_ID() as value  
            </selectKey>  
                      <!-- 配置Oracle主键自动增长   
                      <selectKey resultClass="int" keyProperty="id" type="pre">      
                                <![CDATA[SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL]]>      
                      </selectKey>-->  
                      <!-- 配置MSServer主键自动增长   
                      <selectKey resultClass="int" keyProperty="id">      
                         <![CDATA[SELECT SCOPE_IDENTITY() AS ID ]]>    
                      </selectKey>-->  
            <![CDATA[  
                INSERT PERSON(U_NAME,U_PASSWORD) VALUES(#username#,#password#)  
            ]]>  
        </insert>  
        <!-- 查看特定用户 -->  
        <select id="queryPersonById" parameterClass="int" resultMap="personMap">  
            <![CDATA[  
                SELECT * FROM PERSON WHERE ID=#id#  
            ]]>  
        </select>  
        <!-- 查看所有的用户 -->  
        <select id="queryAllPerson" resultMap="personMap">  
            <![CDATA[  
                SELECT * FROM PERSON  
            ]]>  
        </select>  
    </sqlMap> 
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMap     
        PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"     
        "http://ibatis.apache.org/dtd/sql-map-2.dtd">
    <sqlMap>
     <!-- 为Person类设置一个别名 -->
     <typeAlias alias="person" type="com.jack.ibatis.pojo.Person"/>
     <!-- 配置表和类之间的映射关系 -->
     <resultMap class="com.jack.ibatis.pojo.Person" id="personMap">
      <result property="id" column="ID"/>
      <result property="username" column="U_NAME"/>
      <result property="password" column="U_PASSWORD"/>
     </resultMap>
     <!-- 添加用户 -->
     <insert id="insertPerson" parameterClass="person">
      <!-- 配置Mysql主键自动增长 -->
      <selectKey keyProperty="id" resultClass="int">
       SELECT LAST_INSERT_ID() as value
      </selectKey>
                      <!-- 配置Oracle主键自动增长
                      <selectKey resultClass="int" keyProperty="id" type="pre">   
                                <![CDATA[SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL]]>   
                      </selectKey>-->
                      <!-- 配置MSServer主键自动增长
                      <selectKey resultClass="int" keyProperty="id">   
                         <![CDATA[SELECT SCOPE_IDENTITY() AS ID ]]> 
                      </selectKey>-->
      <![CDATA[
       INSERT PERSON(U_NAME,U_PASSWORD) VALUES(#username#,#password#)
      ]]>
     </insert>
     <!-- 查看特定用户 -->
     <select id="queryPersonById" parameterClass="int" resultMap="personMap">
      <![CDATA[
       SELECT * FROM PERSON WHERE ID=#id#
      ]]>
     </select>
     <!-- 查看所有的用户 -->
     <select id="queryAllPerson" resultMap="personMap">
      <![CDATA[
       SELECT * FROM PERSON
      ]]>
     </select>
    </sqlMap>
      OK,现在所有的配置都已经完成啦