// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/db/CustomWrapper.java
// public class CustomWrapper extends MapWrapper {
// 
// 
//     public CustomWrapper(MetaObject metaObject, Map<String, Object> map) {
//         super(metaObject, map);
//     }
// 
//     @Override
//     public String findProperty(String name, boolean useCamelCaseMapping) {
//         if(useCamelCaseMapping){
//            return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL,name);
//         }
//         return name;
//     }
// }


import com.jayqqaa12.jbase.spring.db.CustomWrapper;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.wrapper.ObjectWrapper;
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
import java.util.Map;
package com.jayqqaa12.jbase.spring.db;



public class MapWrapperFactory implements ObjectWrapperFactory {

    @Override
    public boolean hasWrapperFor(Object object) {
        return object != null && object instanceof Map;
    }

    @Override
    public ObjectWrapper getWrapperFor(MetaObject metaObject, Object object) {
// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/db/CustomWrapper.java
// public class CustomWrapper extends MapWrapper {
// 
// 
//     public CustomWrapper(MetaObject metaObject, Map<String, Object> map) {
//         super(metaObject, map);
//     }
// 
//     @Override
//     public String findProperty(String name, boolean useCamelCaseMapping) {
//         if(useCamelCaseMapping){
//            return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL,name);
//         }
//         return name;
//     }
// }


// Path: jbase-spring/src/main/java/com/jayqqaa12/jbase/spring/db/MapWrapperFactory.java
import com.jayqqaa12.jbase.spring.db.CustomWrapper;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.wrapper.ObjectWrapper;
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
import java.util.Map;

package com.jayqqaa12.jbase.spring.db;



public class MapWrapperFactory implements ObjectWrapperFactory {

    @Override
    public boolean hasWrapperFor(Object object) {
        return object != null && object instanceof Map;
    }

    @Override
    public ObjectWrapper getWrapperFor(MetaObject metaObject, Object object) {
        return new CustomWrapper(metaObject,(Map)object);