iBatis를 사용하여 데스크톱 응용 프로그램을 사용하려고합니다. 하지만 다음과 같은 오류가 발생했습니다. 적절한 해결책을 찾을 수 없습니다. 어느 누구도 나를 도와주세요.스레드 "main"의 예외 java.lang.NoSuchMethodError : com.ibatis.common.beans.ClassInfo.setCacheEnabled (Z) V
로그 ::
Exception in thread "main" java.lang.NoSuchMethodError: com.ibatis.common.beans.ClassInfo.setCacheEnabled(Z)V
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$3.process(SqlMapConfigParser.java:179)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:112)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:75)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:93)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:63)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:86)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)
at IbatisInsert.main(IbatisInsert.java:12)
코드 : IbatisInsert.java
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class IbatisInsert{
public static void main(String[] args)
throws IOException,SQLException{
Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml");
SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);
/* This would insert one record in Employee table. */
System.out.println("Going to insert record.....");
Employee em = new Employee("Zara", "Ali", 5000);
smc.insert("Employee.insert", em);
System.out.println("Record Inserted Successfully ");
}
}
Employee.java
public class Employee {
private int id;
private String first_name;
private String last_name;
private int salary;
/* Define constructors for the Employee class. */
public Employee() {}
public Employee(String fname, String lname, int salary) {
this.setFirst_name(fname);
this.setLast_name(lname);
this.setSalary(salary);
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
} /* End of Employee */
나는 SRC에서 기본 패키지의 두 클래스를 뒀다.
jar 충돌 문제처럼 보입니다. 코드는 iBatis의 다른 버전으로 컴파일되고 다른 버전에서 실행됩니다. – Manish
저는 ibatis를 처음 접했습니다. 모든 병을 필요로합니다. 내가 다음과 같은 항아리가 : 1> ibatis-commons-2.jar 2> ibatis-2.3.0.677.jar 3> spring.jar 4> mysql-connector-java-5.1.5.JAR –
@AbhijeetSinha 문제가되지 않습니다. 불충분 한 항아리가 아니라 항아리의 잘못된 버전. 아래 코드를 실행 해 보도록했습니다. –