下ibatis
求高手指教下ibatis!
对象:
对象配置文件:
ibatis配置:
测试:
问题是他报这个错:
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)
对象:
- 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)