当前位置: 代码迷 >> Java Web开发 >> 下ibatis
  详细解决方案

下ibatis

热度:95   发布时间:2016-04-17 10:55:12.0
求高手指教下ibatis!
对象:
Java code
public class Person implements Serializable {    private static final long serialVersionUID = 9006203036989086304L;    private Integer id;    private String pName;    private String sex;    private Integer age;//省略setter getter方法}

对象配置文件:
XML code
 <sqlMap namespace="Person"> <typeAlias alias="person" type="com.bean.Person"/>     <select id="getPerson" resultClass="person" parameterClass="java.lang.String">         <![CDATA[         select * from tab_person where id=#value#         ]]>     </select>     <insert id="insertPerson" parameterClass="person">         <![CDATA[         insert into tab_person(id,pname,sex,age) values(#id#,#pname#,#sex#,#age#)         ]]>     </insert>     <update id="updatePerson" parameterClass="person">         <![CDATA[         update tab_person set pname=#pname#,sex=#sex#,age=#age# where id=#id#         ]]>     </update>     <delete id="deletePerson" parameterClass="java.lang.String">         <![CDATA[         delete tab_person where id=#id#         ]]>     </delete> </sqlMap>

ibatis配置:
XML code
 <sqlMapConfig>     <settings cacheModelsEnabled="true"                enhancementEnabled="true"                 lazyLoadingEnabled="true"                errorTracingEnabled="true"                 maxRequests="32"                maxSessions="10"                maxTransactions="5"                useStatementNamespaces="false" />     <transactionManager type="JDBC">         <dataSource type="SIMPLE">             <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>             <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:orcl"/>             <property name="JDBC.Username" value="system"/>             <property name="JDBC.Password" value="oraclepass"/>         </dataSource>     </transactionManager>     <sqlMap resource="com/bean/Person.xml"/> </sqlMapConfig>

测试:
Java code
public static void main(String[] args){        try {            String resource="SqlMapConfigExample.xml";            Reader reader=Resources.getResourceAsReader(resource);            XmlSqlMapClientBuilder xmlSqlMapClientBuilder=new XmlSqlMapClientBuilder();            SqlMapClient sqlMapClient=xmlSqlMapClientBuilder.buildSqlMap(reader);            sqlMapClient.startTransaction();            Person person=new Person("gahd", "man", 21);            sqlMapClient.insert("insertPerson",person);            sqlMapClient.commitTransaction();        } catch (IOException e) {            e.printStackTrace();        }catch (Exception e) {            e.printStackTrace();        }    }

问题是他报这个错:
Exception in thread "main" java.lang.NoSuchMethodError: com.ibatis.sqlmap.engine.mapping.result.AutoResultMap: method <init>(Lcom/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate;)V not found
at com.ibatis.sqlmap.engine.builder.xml.XmlSqlMapClientBuilder.parseGeneralStatement(XmlSqlMapClientBuilder.java:623)
  相关解决方案