I am using myBatis and I need to call generated andFieldEqualTo method using Java Reflection.
Class<?> cls = Class.forName("com.example.model.MyBatisExample");
Object obj = cls.newInstance();
Method method = cls.getDeclaredMethod("createCriteria");
Method method2 = method.invoke(obj).getClass().getDeclaredMethod("andFieldEqualTo", String.class);
When I run the code above I get this error:
java.lang.NoSuchMethodException: com.oneconnectft.sg.smartdocu.model.UserGroupExample$Criteria.andFieldEqualTo(java.lang.String)
For Reference this is the MyBatisExample class
package com.example.model;
import java.util.ArrayList;
import java.util.List;
public class MyBatisExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public MyBatisExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andFieldIsNull() {
addCriterion("field is null");
return (Criteria) this;
}
public Criteria andFieldIsNotNull() {
addCriterion("field is not null");
return (Criteria) this;
}
public Criteria andFieldEqualTo(String value) {
addCriterion("field =", value, "field");
return (Criteria) this;
}
public Criteria andFieldNotEqualTo(String value) {
addCriterion("field <>", value, "field");
return (Criteria) this;
}
public Criteria andFieldGreaterThan(String value) {
addCriterion("field >", value, "field");
return (Criteria) this;
}
public Criteria andFieldGreaterThanOrEqualTo(String value) {
addCriterion("field >=", value, "field");
return (Criteria) this;
}
public Criteria andFieldLessThan(String value) {
addCriterion("field <", value, "field");
return (Criteria) this;
}
public Criteria andFieldLessThanOrEqualTo(String value) {
addCriterion("field <=", value, "field");
return (Criteria) this;
}
public Criteria andFieldLike(String value) {
addCriterion("field like", value, "field");
return (Criteria) this;
}
public Criteria andFieldNotLike(String value) {
addCriterion("field not like", value, "field");
return (Criteria) this;
}
public Criteria andFieldIn(List<String> values) {
addCriterion("field in", values, "field");
return (Criteria) this;
}
public Criteria andFieldNotIn(List<String> values) {
addCriterion("field not in", values, "field");
return (Criteria) this;
}
public Criteria andFieldBetween(String value1, String value2) {
addCriterion("field between", value1, value2, "field");
return (Criteria) this;
}
public Criteria andFieldNotBetween(String value1, String value2) {
addCriterion("field not between", value1, value2, "field");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated do_not_delete_during_merge Fri Nov 08 16:30:42 CST 2019
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table smrtdocu.MY_BATIS
*
* @mbg.generated Fri Nov 08 16:30:42 CST 2019
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}
Aucun commentaire:
Enregistrer un commentaire